Supporto per nuovi tracciati RID
git-svn-id: svn://10.65.10.50/branches/R_10_00@22988 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
df974b41d8
commit
46582859fa
383
ef/dc800000.frm
Normal file
383
ef/dc800000.frm
Normal file
@ -0,0 +1,383 @@
|
||||
USE 31
|
||||
JOIN 14 INTO NPROGTR==NPROGTR
|
||||
JOIN 20 INTO TIPOCF=="F" CODCF==CODCF
|
||||
JOIN 17 TO 20 INTO TIPOCF==TIPOCF CODCF==CODCF
|
||||
JOIN 16 TO 17 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDEFF
|
||||
JOIN 13 TO 20 INTO COM==COMCF
|
||||
JOIN 13 TO 16 ALIAS 213 INTO COM==COM
|
||||
JOIN %BAN TO 20 ALIAS 201 INTO CODTAB[1,5]==CODABI
|
||||
JOIN %BAN TO 20 ALIAS 203 INTO CODTAB==CODABI+CODCAB
|
||||
JOIN %BAN ALIAS 202 INTO CODTAB==CODABIP+CODCABP
|
||||
JOIN %BAN ALIAS 204 INTO CODTAB[1,5]==CODABIP
|
||||
JOIN BNP ALIAS 205 INTO CODTAB==CODABIP+CODCABP
|
||||
END
|
||||
DESCRIPTION
|
||||
BEGIN
|
||||
31->* "Effetti"
|
||||
14->* "Righe effetto"
|
||||
20->* "Clienti e Fornitori"
|
||||
13->* "Comuni"
|
||||
201@->* "Tabella banche"
|
||||
202@->* "Tabella banche"
|
||||
203@->* "Tabella banche"
|
||||
204@->* "Tabella banche"
|
||||
END
|
||||
GENERAL
|
||||
BEGIN
|
||||
OFFSET 0 0
|
||||
END
|
||||
SECTION GRAPHICS ODD 4
|
||||
FIGURA 1 1 1
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
END
|
||||
SECTION HEADER ODD 8
|
||||
STRING 1 80
|
||||
BEGIN
|
||||
KEY "denominazione banca presentazione"
|
||||
PROMPT 40 1 "Al/Alla @B"
|
||||
FIELD 202@->S0
|
||||
END
|
||||
STRING 2 35
|
||||
BEGIN
|
||||
KEY "scritta elenco riba"
|
||||
PROMPT 2 1 "@BDISPOSIZIONI DI INCASSO R.I.D."
|
||||
END
|
||||
NUMBER 3 8
|
||||
BEGIN
|
||||
KEY "numero di pagina"
|
||||
PROMPT 129 1 "pag. "
|
||||
MESSAGE _PAGENO
|
||||
END
|
||||
DATA 4 20
|
||||
BEGIN
|
||||
KEY "data emissione"
|
||||
PROMPT 2 2 "Presentati il : "
|
||||
MESSAGE _DATA
|
||||
END
|
||||
STRING 5 130
|
||||
BEGIN
|
||||
KEY "ditta"
|
||||
PROMPT 2 4 "Vi preghiamo di disporre per ordine e per conto @B"
|
||||
MESSAGE _DITTA,!RAGSOC
|
||||
END
|
||||
STRING 5 130
|
||||
BEGIN
|
||||
KEY "ditta"
|
||||
PROMPT 2 5 "Gli incassi di seguito indicati:"
|
||||
END
|
||||
STRING 6 20
|
||||
BEGIN
|
||||
KEY "scritta titolo righe del body"
|
||||
PROMPT 2 7 "CREDITORE"
|
||||
END
|
||||
STRING 7 10
|
||||
BEGIN
|
||||
KEY "scritta titolo righe del body"
|
||||
PROMPT 32 7 "INDIRIZZO"
|
||||
END
|
||||
STRING 8 17
|
||||
BEGIN
|
||||
KEY "scritta titolo righe del body"
|
||||
PROMPT 62 7 "BANCA D'APPOGGIO"
|
||||
END
|
||||
STRING 9 11
|
||||
BEGIN
|
||||
KEY "scritta titolo righe del body"
|
||||
PROMPT 94 7 "FATTURA NUM"
|
||||
END
|
||||
STRING 10 8
|
||||
BEGIN
|
||||
KEY "scritta titolo righe del body"
|
||||
PROMPT 111 7 "DATA FATT."
|
||||
END
|
||||
STRING 11 7
|
||||
BEGIN
|
||||
KEY "scritta titolo righe del body"
|
||||
PROMPT 129 7 "IMPORTO"
|
||||
END
|
||||
STRING 12
|
||||
BEGIN
|
||||
KEY "riga separazione dalle righe del body"
|
||||
PROMPT 2 8 "---------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
END
|
||||
STRING 13 25
|
||||
BEGIN
|
||||
KEY "Numero distinta"
|
||||
PROMPT 100 2 "Distinta N. @B"
|
||||
FIELD NDIST
|
||||
END
|
||||
END
|
||||
SECTION BODY ODD 6
|
||||
STRING 15 2 1
|
||||
BEGIN
|
||||
KEY "creditore"
|
||||
PROMPT 1 1 "@B"
|
||||
END
|
||||
STRING 16 25 2
|
||||
BEGIN
|
||||
KEY "creditore"
|
||||
PROMPT 2 1 ""
|
||||
FIELD 20->RAGSOC
|
||||
MESSAGE INC,FL->2
|
||||
END
|
||||
STRING 27 21
|
||||
BEGIN
|
||||
KEY "codice fiscale"
|
||||
PROMPT 2 3 "P.I. "
|
||||
FIELD 20->PAIV
|
||||
END
|
||||
STRING 28 2 1
|
||||
BEGIN
|
||||
KEY "indirizzo normale"
|
||||
PROMPT 25 1 "@R"
|
||||
END
|
||||
STRING 17 25 2
|
||||
BEGIN
|
||||
KEY "Indirizzo debitore + nr. civico"
|
||||
PROMPT 27 1 ""
|
||||
MESSAGE _CLI,!IND
|
||||
END
|
||||
STRINGA 18 25 2
|
||||
BEGIN
|
||||
KEY "PIAZZA(LOCALITA+PROV)"
|
||||
PROMPT 27 3 ""
|
||||
MESSAGE _CLI,!PIAZZA
|
||||
END
|
||||
STRING 117 6
|
||||
BEGIN
|
||||
KEY ""
|
||||
PROMPT 2 17 ""
|
||||
MESSAGE _NUMEXPR, 20->CODABI==99999
|
||||
MESSAGE COPY,118
|
||||
FLAGS "H"
|
||||
END
|
||||
NUMBER 118 5
|
||||
BEGIN
|
||||
KEY ""
|
||||
PROMPT 55 4 ""
|
||||
MESSAGE ENABLE,119|DISABLE,19
|
||||
MESSAGE ENABLE,120|DISABLE,20|DISABLE,21
|
||||
MESSAGE ENABLE,134|DISABLE,22|DISABLE,34
|
||||
MESSAGE EMPTY ENABLE,19|DISABLE,119
|
||||
MESSAGE EMPTY ENABLE,20|DISABLE,120
|
||||
FLAGS "H"
|
||||
END
|
||||
STRING 119 40 2
|
||||
BEGIN
|
||||
KEY "banca d'appoggio denominazione"
|
||||
PROMPT 55 1 ""
|
||||
FIELD 203@->S0
|
||||
FLAGS "D"
|
||||
END
|
||||
STRING 120 40 1
|
||||
BEGIN
|
||||
KEY "banca d'appoggio denominazione"
|
||||
PROMPT 55 3 ""
|
||||
FIELD 203@->S2
|
||||
FLAGS "D"
|
||||
END
|
||||
STRING 19 40 2
|
||||
BEGIN
|
||||
KEY "banca d'appoggio denominazione"
|
||||
PROMPT 55 1 ""
|
||||
FIELD 201@->S0
|
||||
END
|
||||
STRING 20 40 1
|
||||
BEGIN
|
||||
KEY "banca d'appoggio succursale"
|
||||
PROMPT 55 3 ""
|
||||
FIELD 203@->S0
|
||||
END
|
||||
STRING 221 7
|
||||
BEGIN
|
||||
KEY "ABI presentazione"
|
||||
PROMPT 55 4 "@B"
|
||||
END
|
||||
STRING 21 5
|
||||
BEGIN
|
||||
KEY "ABI presentazione"
|
||||
PROMPT 20 4 "ABI: "
|
||||
FIELD 20->CODABI
|
||||
END
|
||||
STRING 22 5
|
||||
BEGIN
|
||||
KEY "CAB succursale"
|
||||
PROMPT 31 4 "CAB: "
|
||||
FIELD 20->CODCAB
|
||||
END
|
||||
LISTA 23 8
|
||||
BEGIN
|
||||
KEY "a saldo/in conto"
|
||||
FIELD 31->ULTRATA
|
||||
PROMPT 95 1 ""
|
||||
ITEM " |IN CONTO"
|
||||
ITEM "X|A SALDO"
|
||||
flags "H"
|
||||
END
|
||||
STRING 24 17 5
|
||||
BEGIN
|
||||
KEY "dati fattura"
|
||||
PROMPT 92 1 ""
|
||||
END
|
||||
DATA 25 10
|
||||
BEGIN
|
||||
KEY "data scadenza"
|
||||
PROMPT 112 1 ""
|
||||
END
|
||||
STRING 34 20
|
||||
BEGIN
|
||||
KEY "Conto Corrente"
|
||||
PROMPT 43 4 "C/C "
|
||||
FIELD 20->NUMCC
|
||||
END
|
||||
STRING 133 1
|
||||
BEGIN
|
||||
KEY "Conto Corrente"
|
||||
PROMPT 5 4 ""
|
||||
FIELD 20->NUMCC
|
||||
MESSAGE EMPTY DISABLE,134
|
||||
FLAGS "H"
|
||||
END
|
||||
STRING 134 35
|
||||
BEGIN
|
||||
KEY "Conto Corrente"
|
||||
PROMPT 43 4 "ACCOUNT NUM. "
|
||||
FIELD 20->NUMCC
|
||||
FLAGS "D"
|
||||
END
|
||||
STRING 135 35
|
||||
BEGIN
|
||||
KEY "Conto Corrente"
|
||||
PROMPT 61 4 "IBAN "
|
||||
FIELD 20->IBAN
|
||||
END
|
||||
STRING 35 3
|
||||
BEGIN
|
||||
KEY "test sulla valuta"
|
||||
PROMPT 2 8 ""
|
||||
FIELD CODVAL
|
||||
FLAGS "H"
|
||||
MESSAGE EMPTY ENABLE,4@|DISABLE,3@
|
||||
END
|
||||
STRING 36 17 1
|
||||
BEGIN
|
||||
KEY "cod cliente"
|
||||
PROMPT 2 4 "@RCod. For: "
|
||||
FIELD 20->CODCF
|
||||
END
|
||||
SECTION RIGHE_EFFETTO 5 1 1 FILE 14 GROUP NPROGTR
|
||||
STRINGA 1
|
||||
BEGIN
|
||||
PROMPT 92 1 "Ft. n."
|
||||
FIELD 14->NFATT
|
||||
END
|
||||
DATA 2
|
||||
BEGIN
|
||||
PROMPT 107 1 "del "
|
||||
FIELD 14->DATAFATT
|
||||
END
|
||||
VALUTA 3 21 3
|
||||
BEGIN
|
||||
PROMPT 124 1 ""
|
||||
FIELD 14->IMPORTOVAL
|
||||
GROUP 3
|
||||
END
|
||||
VALUTA 4 18
|
||||
BEGIN
|
||||
PROMPT 124 1 ""
|
||||
FIELD 14->IMPORTO
|
||||
GROUP 4
|
||||
FLAGS "D"
|
||||
END
|
||||
END
|
||||
STRINGA 31 32
|
||||
BEGIN
|
||||
PROMPT 110 5 "--------------------------------"
|
||||
END
|
||||
STRINGA 32 10
|
||||
BEGIN
|
||||
PROMPT 109 6 "@B Totale"
|
||||
END
|
||||
STRINGA 33 2
|
||||
BEGIN
|
||||
PROMPT 114 6 "@B"
|
||||
END
|
||||
VALUTA 26 18
|
||||
BEGIN
|
||||
KEY "importo"
|
||||
PROMPT 124 6 ""
|
||||
MESSAGE _IMPORTO
|
||||
MESSAGE ADD,FL->3
|
||||
PICTURE "###.###.###.###"
|
||||
END
|
||||
END
|
||||
SECTION FOOTER ODD 5
|
||||
STRINGA 99
|
||||
BEGIN
|
||||
KEY "riga separazione dalle righe del body"
|
||||
PROMPT 2 1 "---------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
END
|
||||
STRINGA 100 12 1
|
||||
BEGIN
|
||||
KEY "stampa 'segue' in coda"
|
||||
PROMPT 120 3 "-- SEGUE --"
|
||||
END
|
||||
END
|
||||
SECTION FOOTER LAST 5
|
||||
STRINGA 1
|
||||
BEGIN
|
||||
KEY "riga separazione dalle righe del body"
|
||||
PROMPT 2 1 "---------------------------------------------------------------------------------------------------------------------------------------------"
|
||||
END
|
||||
NUMERO 2 25
|
||||
BEGIN
|
||||
KEY "scritta n. documenti"
|
||||
PROMPT 5 2 "DISPOSIZIONI DI INCASSO R.I.D. N. "
|
||||
END
|
||||
NUMERO 3 50
|
||||
BEGIN
|
||||
KEY "Totale"
|
||||
PROMPT 5 3 "Dell' importo complessivo di L.@B"
|
||||
PICTURE "###.###.###.###,@@#"
|
||||
END
|
||||
STRING 93 3
|
||||
BEGIN
|
||||
KEY "test sulla valuta"
|
||||
PROMPT 34 3 ""
|
||||
FIELD CODVAL
|
||||
GROUP 4
|
||||
END
|
||||
STRINGA 4 40
|
||||
BEGIN
|
||||
KEY "NUMERO C/C"
|
||||
PROMPT 60 3 "@RAccrediterete il C/C N. @B"
|
||||
FIELD 205@->S0
|
||||
END
|
||||
STRINGA 4 40
|
||||
BEGIN
|
||||
KEY "banca"
|
||||
PROMPT 100 3 ""
|
||||
FIELD 204@->S0
|
||||
END
|
||||
STRINGA 5 80
|
||||
BEGIN
|
||||
KEY "firma "
|
||||
PROMPT 5 4 "presso di Voi, intestato a: @B"
|
||||
MESSAGE _DITTA,!RAGSOC
|
||||
END
|
||||
STRINGA 6 40
|
||||
BEGIN
|
||||
KEY "firma "
|
||||
PROMPT 65 5 "------------------------------------"
|
||||
END
|
||||
DATA 7 34
|
||||
BEGIN
|
||||
KEY "data valuta"
|
||||
PROMPT 100 3 "@Rcon valuta per noi: @B"
|
||||
FIELD 31->DATADIST
|
||||
FL "D"
|
||||
END
|
||||
END
|
||||
END
|
@ -251,6 +251,7 @@ TToken_string& TEffetto::altridati_fatt(long num, TToken_string& dati)
|
||||
|
||||
righe_eff.next();// passa alla riga successiva
|
||||
}
|
||||
|
||||
return dati;
|
||||
}
|
||||
|
||||
|
17
ef/ef0101.h
17
ef/ef0101.h
@ -22,6 +22,7 @@ protected:
|
||||
long get_next_key(const long codcf) const;
|
||||
// permette di leggere il record passato nel file passato
|
||||
int leggi(TLocalisamfile& f, const TRectype& rec, word lockop = _nolock);
|
||||
|
||||
public:
|
||||
// Duplica l'effetto
|
||||
virtual TObject* dup() const;
|
||||
@ -32,13 +33,13 @@ public:
|
||||
// ritorna un riferimento alla testata dell'effetto
|
||||
TRectype& head() { return *this; }
|
||||
// ritorna un riferimento alle righe dell'effetto
|
||||
TRecord_array& righe() {return _righe;}
|
||||
TRecord_array& righe() { return _righe;}
|
||||
// ritorna un riferimento ai cessionari dell'effetto
|
||||
TRecord_array& cess() {return _cess;}
|
||||
TRecord_array& cess() { return _cess;}
|
||||
// ritorna la riga i_esima dei cessionari
|
||||
TRectype& row_c(int i, bool create=FALSE) { return _cess.row(i,create); }
|
||||
TRectype& row_c(int i, bool create=false) { return _cess.row(i,create); }
|
||||
// ritorna la riga i delle righe
|
||||
TRectype& row_r(int i, bool create=FALSE) { return _righe.row(i,create); }
|
||||
TRectype& row_r(int i, bool create=false) { return _righe.row(i,create); }
|
||||
// ritorna la riga i delle righe
|
||||
const TRectype& row_r(int i) const { return _righe.row(i); }
|
||||
// ritorna il numero delle righe presenti nelle righe effetto
|
||||
@ -46,11 +47,11 @@ public:
|
||||
// ritorna il numero delle righe presenti nei cessionari
|
||||
int rows_c() const { return _cess.rows(); }
|
||||
// elimina l'elemento riga nella posizione n nelle righe effetto
|
||||
bool destroy_row_r(int n, bool pack = FALSE) { return _righe.destroy_row(n, pack); }
|
||||
bool destroy_row_r(int n, bool pack = false) { return _righe.destroy_row(n, pack); }
|
||||
// elimina tutti gli elementi riga nelle righe effetto
|
||||
void destroy_rows_r() { _righe.destroy_rows(); }
|
||||
// elimina l'elemento riga nella posizione n nei cessionari
|
||||
bool destroy_row_c(int n, bool pack = FALSE) { return _cess.destroy_row(n, pack); }
|
||||
bool destroy_row_c(int n, bool pack = false) { return _cess.destroy_row(n, pack); }
|
||||
// elimina tutti gli elementi riga nei cessionari
|
||||
void destroy_rows_c() { _cess.destroy_rows(); }
|
||||
// restituisce il prossimo effetto
|
||||
@ -60,7 +61,7 @@ public:
|
||||
// legge il record passato, con chiave 4
|
||||
int read(TLocalisamfile& f, char tipodist, long ndist, int nrigadist, word lockop = _nolock);
|
||||
// scrive l'effetto, sempre usando la chiave 1
|
||||
int write(TLocalisamfile& f, bool force = FALSE);
|
||||
int write(TLocalisamfile& f, bool force = false);
|
||||
// riscrive l'effetto
|
||||
int rewrite(TLocalisamfile& f) { return write(f, TRUE); }
|
||||
// rimuove l'effetto
|
||||
@ -78,7 +79,7 @@ public:
|
||||
// restituisce il numero della riga distinta a cui appartiene l'effetto estraendolo dal record
|
||||
int nrgdist() const { return get_int(EFF_NRIGADIST); }
|
||||
// restituisce l'importo dell'effetto
|
||||
real importo(const bool valuta = FALSE) const { return get_real(valuta ? EFF_IMPORTOVAL : EFF_IMPORTO); }
|
||||
real importo(const bool valuta = false) const { return get_real(valuta ? EFF_IMPORTOVAL : EFF_IMPORTO); }
|
||||
const bool in_valuta() const;
|
||||
const char get_tipo() const ;
|
||||
// setta i campi per la quarta chiave del file
|
||||
|
119
ef/ef0500.cpp
119
ef/ef0500.cpp
@ -2,6 +2,7 @@
|
||||
#include <filetext.h>
|
||||
#include <form.h>
|
||||
#include <mask.h>
|
||||
#include <modaut.h>
|
||||
#include <printer.h>
|
||||
#include <progind.h>
|
||||
|
||||
@ -10,11 +11,12 @@
|
||||
#include "ef0500.h"
|
||||
#include "../ve/velib.h"
|
||||
|
||||
#include <anagr.h>
|
||||
#include <clifo.h>
|
||||
#include <comuni.h>
|
||||
#include <cfven.h>
|
||||
#include <indsp.h>
|
||||
#include <modaut.h>
|
||||
#include <nditte.h>
|
||||
|
||||
class TRiba_form;
|
||||
class TDistinta_form;
|
||||
@ -74,7 +76,7 @@ protected:
|
||||
void save_data_emis(void);
|
||||
void header_rb(void);
|
||||
void footer_ef(void);
|
||||
void inizializza_cur(void);
|
||||
TCursor& inizializza_cur();
|
||||
void inizializza_file(void);
|
||||
void record(const TString & chiave);
|
||||
bool ok_write(void);
|
||||
@ -138,6 +140,9 @@ class TRiba_file: public TFile_text
|
||||
long _totrec;
|
||||
|
||||
protected:
|
||||
char tipo_incasso(const TRectype& eff) const; // U o V
|
||||
const char* tipo_sequenza(const TRectype& eff) const; // FRST,RCUR,FNAL,OOFF
|
||||
|
||||
virtual void validate(TCursor& cur,TRecord_text &rec, TToken_string &val, TString& str);
|
||||
|
||||
public:
|
||||
@ -259,21 +264,22 @@ void TEmissione::conferma()
|
||||
|
||||
// gestione emissione su floppy
|
||||
void TEmissione::floppy()
|
||||
{
|
||||
inizializza_cur();
|
||||
{
|
||||
TCursor& cur = inizializza_cur();
|
||||
cur = 0L; // Posizionati all'inizio
|
||||
|
||||
*_cur = 0L; // Posizionati all'inizio
|
||||
const TRectype& eff = _cur->curr();
|
||||
const TRectype& eff = cur.curr();
|
||||
const long codabi = eff.get_long(EFF_CODABIP);
|
||||
const char tipocf = eff.get_char(EFF_TIPOCF);
|
||||
const char tipopag = eff.get_char(EFF_TIPOPAG);
|
||||
|
||||
TFilename ribaini;
|
||||
if (!build_ribaini_name(codabi, tipocf, tipopag, ribaini))
|
||||
{
|
||||
cantread_box(ribaini);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
_trasfile = new TRiba_file(RIBAFILENAME, ribaini);
|
||||
TTracciato_record* rb = _trasfile->t_rec("RB");
|
||||
if (rb != NULL)
|
||||
@ -288,7 +294,6 @@ void TEmissione::floppy()
|
||||
if (condition)
|
||||
{
|
||||
const TRecnotype n_eff = _cur->items();
|
||||
|
||||
TString msg;
|
||||
msg.format(FR("Emissione di %d effetti su file %s\ncon tracciato %s"), n_eff, RIBAFILENAME, (const char*)ribaini);
|
||||
if (n_eff > 0)
|
||||
@ -297,30 +302,30 @@ void TEmissione::floppy()
|
||||
_trasfile->tracciati().get_keys(keys);
|
||||
keys.sort();
|
||||
|
||||
TProgind pi(n_eff, msg, true, true);
|
||||
TProgress_monitor pi(n_eff, msg);
|
||||
|
||||
header_rb();//intestazione flusso effetti
|
||||
//scandisco tutti gli effetti della distinta selezionata
|
||||
for (*_cur = 0; _cur->pos() < n_eff; ++(*_cur))
|
||||
for (cur = 0; cur.pos() < n_eff; ++cur)
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
save_data_emis();
|
||||
//scandisco tutti i record di un effetto
|
||||
FOR_EACH_ARRAY_ROW(keys, i, rec)
|
||||
record(*rec);//emetto il record
|
||||
if (!pi.add_status(1))
|
||||
break;
|
||||
}
|
||||
footer_ef(); //chiusura flusso effetti
|
||||
}
|
||||
message_box(msg);
|
||||
}
|
||||
else
|
||||
error_box(TR("Impossibile scrivere sull'unita' di destinazione"));
|
||||
error_box(TR("Impossibile scrivere sull'unità di destinazione"));
|
||||
|
||||
_trasfile->close();
|
||||
delete _trasfile;
|
||||
_trasfile = NULL;
|
||||
|
||||
|
||||
delete _cur;
|
||||
_cur = NULL;
|
||||
}
|
||||
@ -388,7 +393,7 @@ void TEmissione::footer_ef()
|
||||
}
|
||||
|
||||
//inizializza il cursore per la gestione dei dati da caricare negli effetti
|
||||
void TEmissione::inizializza_cur()
|
||||
TCursor& TEmissione::inizializza_cur()
|
||||
{
|
||||
const int ndist = _msk->get_int(F_NUMBER);
|
||||
const char tipodist = _msk->get(F_TIPODIST)[0];
|
||||
@ -400,6 +405,7 @@ void TEmissione::inizializza_cur()
|
||||
delete _cur;
|
||||
_cur = new TCursor(_rel,"",4,&from,&from);
|
||||
_cur->freeze();
|
||||
return *_cur;
|
||||
}
|
||||
|
||||
//inizializza il file di testo su cui emettere gli effetti
|
||||
@ -408,7 +414,7 @@ void TEmissione::inizializza_file()
|
||||
TFilename fileriba = _msk->get(F_PATH);
|
||||
fileriba.add(_msk->get(F_NOMEFILE));
|
||||
fileriba.fremove();
|
||||
_trasfile->open(fileriba,'w');
|
||||
_trasfile->open(fileriba, 'w');
|
||||
_trasfile->set_tot_importi(ZERO);
|
||||
_trasfile->force_record_separator(_msk->get_bool(F_FORCESEP));
|
||||
}
|
||||
@ -989,11 +995,42 @@ bool TDistinta_form::validate(TForm_item &cf, TToken_string &s)
|
||||
return TForm::validate(cf, s);
|
||||
}
|
||||
|
||||
char TRiba_file::tipo_incasso(const TRectype& eff) const
|
||||
{
|
||||
const char tipopag = eff.get_char(EFF_TIPOPAG);
|
||||
const char tipocf = eff.get_char(EFF_TIPOCF);
|
||||
const long codcf = eff.get_char(EFF_CODCF);
|
||||
|
||||
if (tipopag != '8' || tipocf != 'C' || codcf <= 0L)
|
||||
return ' ';
|
||||
TString8 key; key.format("C|%ld", codcf);
|
||||
const TRectype& clifo = cache().get(LF_CLIFO, key);
|
||||
if (clifo.get_char(CLI_TIPOAPER) == 'G')
|
||||
return 'V';
|
||||
return 'U';
|
||||
}
|
||||
|
||||
const char* TRiba_file::tipo_sequenza(const TRectype& eff) const
|
||||
{
|
||||
const char* seq = "OOFF";
|
||||
TEffetto e(eff);
|
||||
if (e.fatt())
|
||||
{
|
||||
const int nrata = e.row_r(0).get_int(REFF_NRATA);
|
||||
if (eff.get_bool(EFF_ULTRATA))
|
||||
seq = nrata <= 1 ? "OOFF" : "FNAL";
|
||||
else
|
||||
seq = nrata <= 1 ? "FRST" : "RCUR";
|
||||
}
|
||||
return seq;
|
||||
}
|
||||
|
||||
|
||||
// gestione dei messaggi estesi nei campi
|
||||
void TRiba_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TString& str)
|
||||
{
|
||||
const TString code(s.get(0));
|
||||
TString valore;
|
||||
const TString80 code(s.get(0));
|
||||
TString80 valore;
|
||||
if (code == "_FISSO")
|
||||
{
|
||||
// gestione dei campi fissi per i record delle riba
|
||||
@ -1056,7 +1093,7 @@ void TRiba_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TStr
|
||||
// "3" la ragione sociale andrà ad occupare più campi, terzo segmento
|
||||
// "4" la ragione sociale andrà ad occupare più campi, quarto segmento
|
||||
|
||||
TString in(s.get());
|
||||
TString80 in = s.get();
|
||||
CHECK(in[0]=='!',"Macro _DITTA senza carattere '!'");
|
||||
in.ltrim(1);
|
||||
if (in=="RAGSOC")
|
||||
@ -1081,14 +1118,19 @@ void TRiba_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TStr
|
||||
} else
|
||||
if (in == "CFPI")
|
||||
{
|
||||
const TRectype& curr = app().firm_rel().curr(LF_ANAG);
|
||||
valore = curr.get("PAIV");
|
||||
const TRectype& anag = app().firm_rel().curr(LF_ANAG);
|
||||
valore = anag.get(ANA_COFI);
|
||||
if (valore.blank())
|
||||
valore = anag.get(ANA_PAIV);
|
||||
valore.trim();
|
||||
} else
|
||||
if (in == "PICF")
|
||||
{
|
||||
const TRectype& anag = app().firm_rel().curr(LF_ANAG);
|
||||
valore = anag.get(ANA_PAIV);
|
||||
if (valore.blank())
|
||||
valore = anag.get(ANA_COFI);
|
||||
valore.trim();
|
||||
if (valore.empty())
|
||||
{
|
||||
valore = curr.get("COFI");
|
||||
valore.trim();
|
||||
}
|
||||
}
|
||||
else
|
||||
CHECKS(FALSE, "Sotto-Macro _DITTA non definita: ",(const char *)in);
|
||||
@ -1111,12 +1153,12 @@ void TRiba_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TStr
|
||||
TRectype& clifo_2 = cur.curr(pick_normal ? LF_CLIFO : LF_INDSP);
|
||||
TRectype& comuni = cur.curr(pick_normal ? LF_COMUNI: -213);
|
||||
|
||||
TString in(s.get());
|
||||
TString80 in(s.get());
|
||||
CHECK(in[0]=='!',"Macro _DEBITORE senza carattere '!'");
|
||||
in.ltrim(1);
|
||||
if (in=="RAGSOC")
|
||||
{
|
||||
TString ragsoc = clifo_2.get(pick_normal ? CLI_RAGSOC : IND_RAGSOC);
|
||||
TString80 ragsoc = clifo_2.get(pick_normal ? CLI_RAGSOC : IND_RAGSOC);
|
||||
in = s.get();
|
||||
TParagraph_string string(ragsoc,30);
|
||||
string.restart();
|
||||
@ -1295,11 +1337,28 @@ void TRiba_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TStr
|
||||
{
|
||||
valore = ini_get_string(CONFIG_DITTA, "ef", "CODSIA");
|
||||
}
|
||||
else if (code == "_CREDITORID")
|
||||
{
|
||||
valore = ini_get_string(CONFIG_DITTA, "ef", "CREDITORID");
|
||||
}
|
||||
else if (code == "_CODMON")
|
||||
{
|
||||
valore.format("%c", _codice_moneta);
|
||||
valore.format("%c", _codice_moneta); // Fisso 'E'
|
||||
}
|
||||
else NFCHECK("Macro non definita: %s", (const char *)code);
|
||||
else if (code == "_TIPOINC")
|
||||
{
|
||||
valore.format("%c", tipo_incasso(cur.curr())); // U o V
|
||||
}
|
||||
else if (code == "_TIPOSEQ")
|
||||
{
|
||||
valore = tipo_sequenza(cur.curr());
|
||||
}
|
||||
else if (code == "_DATAMANDATO")
|
||||
{
|
||||
valore = "000000";
|
||||
}
|
||||
else
|
||||
NFCHECK("Macro non definita: %s", (const char *)code);
|
||||
|
||||
str = valore;
|
||||
}
|
||||
|
@ -6,6 +6,7 @@
|
||||
#define F_DESCCAUINC 106
|
||||
#define F_DESCCAUPAG 107
|
||||
#define F_CONTSEP 108
|
||||
#define F_CREDITORID 109
|
||||
|
||||
#define F_TRANS_G 111
|
||||
#define F_TRANS_C 112
|
||||
|
@ -6,7 +6,7 @@ ENDPAGE
|
||||
|
||||
PAGE "Parametri effetti" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 11
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
PROMPT 1 2 "@bContabilizzazione"
|
||||
END
|
||||
@ -76,11 +76,9 @@ BEGIN
|
||||
FIELD DESCPAG
|
||||
END
|
||||
|
||||
STRING F_CODSIA 5
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 2 8 "Codice SIA "
|
||||
FLAGS "Z"
|
||||
FIELD CODSIA
|
||||
PROMPT 1 8 "@bAnalitica"
|
||||
END
|
||||
|
||||
NUMBER F_TRANS_G 3
|
||||
@ -101,6 +99,7 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN CG0 -0
|
||||
FIELG DIFFCAMG
|
||||
MODULE ca
|
||||
END
|
||||
|
||||
NUMBER F_TRANS_C 3
|
||||
@ -109,6 +108,7 @@ BEGIN
|
||||
COPY ALL F_TRANS_G
|
||||
CHECKTYPE NORMAL
|
||||
FIELG DIFFCAMC
|
||||
MODULE ca
|
||||
END
|
||||
|
||||
NUMBER F_TRANS_S 6
|
||||
@ -117,6 +117,7 @@ BEGIN
|
||||
COPY ALL F_TRANS_G
|
||||
CHECKTYPE NORMAL
|
||||
FIELG DIFFCAMS
|
||||
MODULE ca
|
||||
END
|
||||
|
||||
STRING F_TRANS_D 50
|
||||
@ -131,6 +132,7 @@ BEGIN
|
||||
COPY OUTPUT F_TRANS_S
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN CG0 -0
|
||||
MODULE ca
|
||||
END
|
||||
|
||||
BOOLEAN F_CONTSEP
|
||||
@ -139,6 +141,24 @@ BEGIN
|
||||
FIELD ContSep
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 1 13 "@bGenerazione effetti SEPA"
|
||||
END
|
||||
|
||||
STRING F_CODSIA 5
|
||||
BEGIN
|
||||
PROMPT 2 14 "Codice SIA "
|
||||
FLAGS "Z"
|
||||
FIELD CODSIA
|
||||
END
|
||||
|
||||
STRING F_CREDITORID 25
|
||||
BEGIN
|
||||
PROMPT 2 15 "Creditor Identifier "
|
||||
FIELD CREDITORID
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
579
ef/rc800000.ini
Normal file
579
ef/rc800000.ini
Normal file
@ -0,0 +1,579 @@
|
||||
[MAIN]
|
||||
DECSEP = ,
|
||||
FIELDSEP =
|
||||
RECORDSEP =
|
||||
RECORDSIZE = 120
|
||||
SKIPLINES = 0
|
||||
TYPEFIELD = 1
|
||||
TYPELEN = -1
|
||||
TYPEPOS = -1
|
||||
|
||||
[TYPE FISSO]
|
||||
ALIGN =
|
||||
DATA =
|
||||
DECIMAL = 0
|
||||
FILLER = ' '
|
||||
LENGTH = 0
|
||||
PICTURE =
|
||||
|
||||
[TYPE IMPORTO]
|
||||
ALIGN = R
|
||||
DATA = N
|
||||
DECIMAL = 1
|
||||
FILLER = 0
|
||||
LENGTH = 13
|
||||
PICTURE = @@@@@@@@@@@@@
|
||||
|
||||
[TYPE DATA]
|
||||
ALIGN =
|
||||
DATA = D
|
||||
DECIMAL = 0
|
||||
FILLER =
|
||||
LENGTH = 6
|
||||
PICTURE = 1442
|
||||
|
||||
[TYPE NUMERO]
|
||||
ALIGN = R
|
||||
DATA = N
|
||||
DECIMAL = 0
|
||||
FILLER = '0'
|
||||
LENGTH = 0
|
||||
PICTURE =
|
||||
|
||||
[TYPE STRINGA]
|
||||
ALIGN = L
|
||||
DATA = S
|
||||
DECIMAL = 0
|
||||
FILLER = ' '
|
||||
LENGTH = 0
|
||||
PICTURE =
|
||||
|
||||
// ******************************************************* [RECORD IR]
|
||||
[HEADER RB]
|
||||
NAME(0)=CAMPO BLANK
|
||||
TYPE(0)=FISSO
|
||||
POSITION(0)=0
|
||||
LENGTH(0)=1
|
||||
|
||||
NAME(1)=TIPO RECORD
|
||||
POSITION(1)=1
|
||||
LENGTH(1)=2
|
||||
MESSAGE(1)=_FISSO,!IR
|
||||
|
||||
NAME(2)=CODICE MITTENTE
|
||||
POSITION(2)=3
|
||||
LENGTH(2)=5
|
||||
MESSAGE(2)=_CODSIA
|
||||
|
||||
NAME(3)=CODICE DESTINATARIO
|
||||
FIELD(3)=31->CODABIP
|
||||
POSITION(3)=8
|
||||
LENGTH(3)=5
|
||||
|
||||
NAME(4)=DATA EMISSIONE
|
||||
TYPE(4)=DATA
|
||||
FIELD(4)=31->DATAEMISS
|
||||
POSITION(4)=13
|
||||
LENGTH(4)=6
|
||||
MESSAGE(4) = _DATA
|
||||
|
||||
NAME(5)=RAGIONE SOCIALE MITTENTE
|
||||
TYPE(5)=STRINGA
|
||||
POSITION(5)=19
|
||||
LENGTH(5)=26
|
||||
MESSAGE(5)=_DITTA,!RAGSOC,1
|
||||
|
||||
NAME(6)=FILLER
|
||||
TYPE(6)=FISSO
|
||||
POSITION(6)=45
|
||||
LENGTH(6)=68
|
||||
|
||||
NAME(7)=CODICE MONETA
|
||||
TYPE(7)=STRINGA
|
||||
POSITION(7)=113
|
||||
LENGTH(7)=1
|
||||
MESSAGE(7) = _CODMON
|
||||
|
||||
NAME(8)=FILLER
|
||||
TYPE(8)=FISSO
|
||||
POSITION(8)=114
|
||||
LENGTH(8)=6
|
||||
|
||||
NAME(9)=TIPO RECORD FINTO
|
||||
POSITION(9)=1
|
||||
LENGTH(9)=2
|
||||
MESSAGE(9)=_FISSO,!IR
|
||||
|
||||
// ******************************************************* [RECORD 10]
|
||||
[RECORD 10]
|
||||
NAME(0) = CAMPO BLANK
|
||||
TYPE(0) = FISSO
|
||||
POSITION(0) = 0
|
||||
LENGTH(0) = 1
|
||||
|
||||
NAME(1) = TIPO RECORD
|
||||
POSITION(1) = 1
|
||||
LENGTH(1) = 2
|
||||
MESSAGE(1) = _FISSO,!10
|
||||
|
||||
NAME(2) = NUMERO PROGRESSIVO RIBA
|
||||
TYPE(2) = NUMERO
|
||||
POSITION(2) = 3
|
||||
LENGTH(2) = 7
|
||||
MESSAGE(2) = _NRIBA,!NUM
|
||||
|
||||
NAME(3) = DATA DECORRENZA GARANZIA
|
||||
TYPE(3) = DATA
|
||||
POSITION(3) = 10
|
||||
LENGTH(3) = 6
|
||||
FIELD(3) = 31->DATASCAD
|
||||
|
||||
NAME(4) = DATA ESECUZIONE
|
||||
TYPE(4) = DATA
|
||||
// FIELD(4) = 31->DATASCAD
|
||||
POSITION(4) = 16
|
||||
LENGTH(4) = 6
|
||||
|
||||
NAME(5) = DATA VALUTA
|
||||
TYPE(5) = DATA
|
||||
FIELD(5) = 31->DATASCAD
|
||||
POSITION(5) = 22
|
||||
LENGTH(5) = 6
|
||||
|
||||
NAME(6) = CAUSALE
|
||||
POSITION(6) = 28
|
||||
LENGTH(6) = 5
|
||||
MESSAGE(6) = _FISSO,!50000
|
||||
|
||||
NAME(7) = IMPORTO
|
||||
TYPE(7) = IMPORTO
|
||||
FIELD(7) = 31->IMPORTO
|
||||
POSITION(7) = 33
|
||||
LENGTH(7) = 13
|
||||
MESSAGE(7)=_IMPORTO,!ADD
|
||||
|
||||
NAME(8) = SEGNO
|
||||
POSITION(8) = 46
|
||||
LENGTH(8) = 1
|
||||
MESSAGE(8) = _FISSO,!-
|
||||
|
||||
NAME(9) = CODABI BANCA PRESENTAZIONE
|
||||
FIELD(9) = 31->CODABIP
|
||||
POSITION(9) = 47
|
||||
LENGTH(9) = 5
|
||||
|
||||
NAME(10) = CODCAB BANCA PRESENTAZIONE
|
||||
FIELD(10) = 31->CODCABP
|
||||
POSITION(10) = 52
|
||||
LENGTH(10) = 5
|
||||
|
||||
NAME(11) = C/C n. ordinante
|
||||
TYPE(11) = STRINGA
|
||||
FIELD(11) = 403@->S0
|
||||
POSITION(11) = 57
|
||||
LENGTH(11) = 12
|
||||
|
||||
NAME(12) = CODICE ABI BANCA DOMICILIATARIA (FACOLTATIVO)
|
||||
FIELD(12) = 20->CODABI
|
||||
POSITION(12) = 69
|
||||
LENGTH(12) = 5
|
||||
|
||||
NAME(13) = CODICE CAB BANCA DOMICILIATARIA (FACOLTATIVO)
|
||||
FIELD(13) = 20->CODCAB
|
||||
POSITION(13) = 74
|
||||
LENGTH(13) = 5
|
||||
|
||||
NAME(14) = RIFERIMENTO DEBITORE (FACOLTATIVO)
|
||||
TYPE(14) = STRINGA
|
||||
// FIELD(14) = 20->NUMCC
|
||||
POSITION(14) = 79
|
||||
LENGTH(14) = 12
|
||||
|
||||
NAME(15) = CODICE AZIENDA
|
||||
POSITION(15) = 91
|
||||
LENGTH(15) = 5
|
||||
MESSAGE(15) = _CODSIA
|
||||
|
||||
NAME(16) = TIPO CODICE INDIVIDUALE (FACOLTATIVO)
|
||||
TYPE(16) = FISSO
|
||||
POSITION(16) = 96
|
||||
LENGTH(16) = 1
|
||||
MESSAGE(16) = _FISSO,!9
|
||||
|
||||
NAME(17) = CODICE CLIENTE DEBITORE (FACOLTATIVO)
|
||||
TYPE(17) = FISSO
|
||||
POSITION(17) = 97
|
||||
LENGTH(17) = 16
|
||||
FIELD(17) = 20->PAIV
|
||||
|
||||
NAME(18) = TIPO INCASSO (FACOLTATIVO)
|
||||
TYPE(18) = STRINGA
|
||||
POSITION(18) = 112
|
||||
LENGTH(18) = 1
|
||||
MESSAGE(18) = _TIPOINC
|
||||
|
||||
NAME(19) = CODICE MONETA
|
||||
TYPE(19) = STRINGA
|
||||
POSITION(19) = 113
|
||||
LENGTH(19) = 1
|
||||
MESSAGE(19) = _CODMON
|
||||
|
||||
// ******************************************************* [RECORD 16]
|
||||
[RECORD 16]
|
||||
NAME(0) = CAMPO BLANK
|
||||
TYPE(0) = FISSO
|
||||
POSITION(0) = 0
|
||||
LENGTH(0) = 1
|
||||
|
||||
NAME(1) = TIPO RECORD
|
||||
POSITION(1) = 1
|
||||
LENGTH(1) = 2
|
||||
MESSAGE(1) = _FISSO,!16
|
||||
|
||||
NAME(2) = NUMERO PROGRESSIVO RIBA
|
||||
TYPE(2) = NUMERO
|
||||
POSITION(2) = 3
|
||||
LENGTH(2) = 7
|
||||
MESSAGE(2) = _NRIBA,!NUM
|
||||
|
||||
NAME(3) = Codice IBAN
|
||||
TYPE(3) = STRINGA
|
||||
POSITION(3) = 10
|
||||
LENGTH(3) = 34
|
||||
FIELD(3) = 403@->S3
|
||||
|
||||
NAME(4) = CREDITOR IDENTIFIER (FACOLTATIVO)
|
||||
TYPE(4) = STRINGA
|
||||
POSITION(4) = 44
|
||||
LENGTH(4) = 25
|
||||
MESSAGE(4) = _CREDITORID
|
||||
|
||||
[RECORD 17]
|
||||
NAME(0) = CAMPO BLANK
|
||||
TYPE(0) = FISSO
|
||||
POSITION(0) = 0
|
||||
LENGTH(0) = 1
|
||||
|
||||
NAME(1) = TIPO RECORD
|
||||
POSITION(1) = 1
|
||||
LENGTH(1) = 2
|
||||
MESSAGE(1) = _FISSO,!17
|
||||
|
||||
NAME(2) = NUMERO PROGRESSIVO RIBA
|
||||
TYPE(2) = NUMERO
|
||||
POSITION(2) = 3
|
||||
LENGTH(2) = 7
|
||||
MESSAGE(2) = _NRIBA,!NUM
|
||||
|
||||
NAME(3) = Codice IBAN
|
||||
TYPE(3) = STRINGA
|
||||
POSITION(3) = 10
|
||||
LENGTH(3) = 34
|
||||
FIELD(3) = 31->IBAN
|
||||
|
||||
NAME(4) = TIPO SEQUENZA
|
||||
TYPE(4) = STRINGA
|
||||
POSITION(4) = 37
|
||||
LENGTH(4) = 4
|
||||
MESSAGE(4) = _TIPOSEQ
|
||||
|
||||
NAME(5) = DATA SOTTOSCIZIONE MANDATO (FACOLTATIVO)
|
||||
TYPE(5) = NUMERO
|
||||
POSITION(5) = 41
|
||||
LENGTH(5) = 6
|
||||
MESSAGE(5) = _DATAMANDATO
|
||||
|
||||
// ******************************************************* [RECORD 20]
|
||||
[RECORD 20]
|
||||
NAME(0)=CAMPO BLANK
|
||||
TYPE(0)=FISSO
|
||||
POSITION(0)=0
|
||||
LENGTH(0)=1
|
||||
|
||||
NAME(1)=TIPO RECORD
|
||||
POSITION(1)=1
|
||||
LENGTH(1)=2
|
||||
MESSAGE(1)=_FISSO,!20
|
||||
|
||||
NAME(2)=NUMERO PROGRESSIVO RIBA
|
||||
TYPE(2)=NUMERO
|
||||
POSITION(2)=3
|
||||
LENGTH(2)=7
|
||||
MESSAGE(2) = _NRIBA,!NUM
|
||||
|
||||
NAME(3)=DESCRIZIONE MITTENTE (CREDITORE) SEGMENTO 1
|
||||
TYPE(3)=STRINGA
|
||||
POSITION(3)=10
|
||||
LENGTH(3)=30
|
||||
MESSAGE(3)=_DITTA,!RAGSOC,1
|
||||
|
||||
NAME(4)=DESCRIZIONE MITTENTE SEGMENTO 2
|
||||
TYPE(4)=STRINGA
|
||||
POSITION(4)=40
|
||||
LENGTH(4)=30
|
||||
MESSAGE(4)=_DITTA,!RAGSOC,2
|
||||
|
||||
NAME(5)=DESCRIZIONE MITTENTE SEGMENTO 3
|
||||
TYPE(5)=STRINGA
|
||||
POSITION(5)=70
|
||||
LENGTH(5)=30
|
||||
MESSAGE(5)=_DITTA,!RAGSOC,3
|
||||
|
||||
NAME(6)=DESCRIZIONE MITTENTE SEGMENTO 4
|
||||
TYPE(6)=STRINGA
|
||||
POSITION(6)=100
|
||||
LENGTH(6)=16
|
||||
MESSAGE(6)=_DITTA,!PICF
|
||||
|
||||
NAME(7)=CAMPO BLANK
|
||||
TYPE(7)=FISSO
|
||||
POSITION(7)=116
|
||||
LENGTH(7)=4
|
||||
|
||||
// ******************************************************* [RECORD 30]
|
||||
[RECORD 30]
|
||||
NAME(0)=CAMPO BLANK
|
||||
TYPE(0)=FISSO
|
||||
POSITION(0)=0
|
||||
LENGTH(0)=1
|
||||
|
||||
NAME(1)=TIPO RECORD
|
||||
POSITION(1)=1
|
||||
LENGTH(1)=2
|
||||
MESSAGE(1)=_FISSO,!30
|
||||
|
||||
NAME(2)=NUMERO PROGRESSIVO RIBA
|
||||
TYPE(2)=NUMERO
|
||||
POSITION(2)=3
|
||||
LENGTH(2)=7
|
||||
MESSAGE(2) = _NRIBA,!NUM
|
||||
|
||||
NAME(3)=DESCRIZIONE DEBITORE SEGMENTO 1
|
||||
TYPE(3)=STRINGA
|
||||
POSITION(3)=10
|
||||
LENGTH(3)=30
|
||||
MESSAGE(3) = _DEBITORE,!RAGSOC,1
|
||||
|
||||
NAME(4)=DESCRIZIONE DEBITORE SEGMENTO 2
|
||||
TYPE(4)=STRINGA
|
||||
POSITION(4)=40
|
||||
LENGTH(4)=30
|
||||
MESSAGE(4) = _DEBITORE,!RAGSOC,2
|
||||
|
||||
NAME(5)=CODICE FISCALE DEBITORE SEGMENTO 3
|
||||
TYPE(5)=STRINGA
|
||||
POSITION(5)=100
|
||||
LENGTH(5)=16
|
||||
MESSAGE(5)= _DEBITORE,!CFPI
|
||||
|
||||
NAME(6)=CAMPO BLANK
|
||||
TYPE(6)=FISSO
|
||||
POSITION(6)=116
|
||||
LENGTH(6)=4
|
||||
|
||||
// ******************************************************* [RECORD 40]
|
||||
[RECORD 40]
|
||||
NAME(0)=CAMPO BLANK
|
||||
TYPE(0)=FISSO
|
||||
POSITION(0)=0
|
||||
LENGTH(0)=1
|
||||
|
||||
NAME(1)=TIPO RECORD
|
||||
POSITION(1)=1
|
||||
LENGTH(1)=2
|
||||
MESSAGE(1)=_FISSO,!40
|
||||
|
||||
NAME(2)=NUMERO PROGRESSIVO RIBA
|
||||
TYPE(2)=NUMERO
|
||||
POSITION(2)=3
|
||||
LENGTH(2)=7
|
||||
MESSAGE(2) = _NRIBA,!NUM
|
||||
|
||||
NAME(3)=INDIRIZZO DEBITORE: VIA,NUMERO CIVICO, NOME FRAZIONE
|
||||
TYPE(3)=STRINGA
|
||||
POSITION(3)=10
|
||||
LENGTH(3)=30
|
||||
MESSAGE(3) = _DEBITORE,!INDIRIZZO
|
||||
|
||||
NAME(4)=INDIRIZZO DEBITORE: CAP
|
||||
TYPE(4)=NUMERO
|
||||
FIELD(4)=20->CAPCF
|
||||
POSITION(4)=40
|
||||
LENGTH(4)=5
|
||||
|
||||
NAME(5)=INDIRIZZO DEBITORE: COMUNE
|
||||
TYPE(5)=STRINGA
|
||||
POSITION(5)=45
|
||||
LENGTH(5)=23
|
||||
MESSAGE(5) = _DEBITORE,!COMUNE
|
||||
|
||||
NAME(6)=INDIRIZZO DEBITORE: SIGLA PROVINCIA
|
||||
TYPE(6)=STRINGA
|
||||
POSITION(6)=68
|
||||
LENGTH(6)=2
|
||||
MESSAGE(6) = _DEBITORE,!PROV
|
||||
|
||||
NAME(7)=CAMPO BLANK
|
||||
TYPE(7)=FISSO
|
||||
POSITION(7)=70
|
||||
LENGTH(7)=50
|
||||
|
||||
|
||||
// ******************************************************* [RECORD 50]
|
||||
[RECORD 50]
|
||||
NAME(0)=CAMPO BLANK
|
||||
TYPE(0)=FISSO
|
||||
POSITION(0)=0
|
||||
LENGTH(0)=1
|
||||
|
||||
NAME(1)=TIPO RECORD
|
||||
POSITION(1)=1
|
||||
LENGTH(1)=2
|
||||
MESSAGE(1)=_FISSO,!50
|
||||
|
||||
NAME(2)=NUMERO PROGRESSIVO RIBA
|
||||
TYPE(2)=NUMERO
|
||||
POSITION(2)=3
|
||||
LENGTH(2)=7
|
||||
MESSAGE(2) = _NRIBA,!NUM
|
||||
|
||||
NAME(3)=RIFERIMENTI AL DEBITO SEGMENTO 1
|
||||
TYPE(3)=STRINGA
|
||||
POSITION(3)=10
|
||||
LENGTH(3)=45
|
||||
MESSAGE(3) = _FATT,!1
|
||||
|
||||
NAME(4)=RIFERIMENTI AL DEBITO SEGMENTO 2
|
||||
TYPE(4)=STRINGA
|
||||
POSITION(4)=55
|
||||
LENGTH(4)=45
|
||||
MESSAGE(4) = _FATT,!2
|
||||
|
||||
NAME(5)=CAMPO BLANK
|
||||
TYPE(5)=FISSO
|
||||
POSITION(5)=100
|
||||
LENGTH(5)=20
|
||||
|
||||
// NAME(6)=RIFERIMENTI FISSI AL DEBITO
|
||||
// TYPE(6)=STRINGA
|
||||
// POSITION(6)=10
|
||||
// LENGTH(6)=11
|
||||
// MESSAGE(6) = _FISSO,!RETTA MESE
|
||||
|
||||
// NAME(7)=RIFERIMENTI AL DEBITO SEGMENTO 1
|
||||
// TYPE(7)=STRINGA
|
||||
// POSITION(7)=21
|
||||
// LENGTH(7)=34
|
||||
// MESSAGE(7) = _FATT,!1
|
||||
|
||||
|
||||
// ******************************************************* [RECORD 70]
|
||||
[RECORD 70]
|
||||
NAME(0)=CAMPO BLANK
|
||||
TYPE(0)=FISSO
|
||||
POSITION(0)=0
|
||||
LENGTH(0)=1
|
||||
|
||||
NAME(1)=TIPO RECORD
|
||||
POSITION(1)=1
|
||||
LENGTH(1)=2
|
||||
MESSAGE(1)=_FISSO,!70
|
||||
|
||||
NAME(2)=NUMERO PROGRESSIVO RIBA
|
||||
TYPE(2)=NUMERO
|
||||
POSITION(2)=3
|
||||
LENGTH(2)=7
|
||||
MESSAGE(2) = _NRIBA,!NUM
|
||||
|
||||
NAME(3)=CAMPO ALTERABILE
|
||||
TYPE(3)=FISSO
|
||||
POSITION(3)=10
|
||||
LENGTH(3)=85
|
||||
|
||||
NAME(4)=CAMPO ALTERABILE
|
||||
TYPE(4)=FISSO
|
||||
POSITION(4)=95
|
||||
LENGTH(4)=1
|
||||
MESSAGE(4)=_FISSO,!3
|
||||
|
||||
NAME(5)=CAMPO ALTERABILE
|
||||
TYPE(5)=FISSO
|
||||
POSITION(5)=96
|
||||
LENGTH(5)=24
|
||||
|
||||
// ******************************************************* [RECORD EF]
|
||||
[FOOTER EF]
|
||||
NAME(0)=CAMPO BLANK
|
||||
TYPE(0)=FISSO
|
||||
POSITION(0)=0
|
||||
LENGTH(0)=1
|
||||
|
||||
NAME(1)=TIPO RECORD
|
||||
POSITION(1)=1
|
||||
LENGTH(1)=2
|
||||
MESSAGE(1)=_FISSO,!EF
|
||||
|
||||
NAME(2)=CODICE MITTENTE
|
||||
POSITION(2)=3
|
||||
LENGTH(2)=5
|
||||
MESSAGE(2)=_CODSIA
|
||||
|
||||
NAME(3)=CODICE DESTINATARIO
|
||||
FIELD(3)=31->CODABIP
|
||||
POSITION(3)=8
|
||||
LENGTH(3)=5
|
||||
|
||||
NAME(4)=DATA EMISSIONE
|
||||
TYPE(4)=DATA
|
||||
FIELD(4)=31->DATAEMISS
|
||||
POSITION(4)=13
|
||||
LENGTH(4)=6
|
||||
MESSAGE(4)=_DATA
|
||||
|
||||
NAME(5)=RAGIONE SOCIALE MITTENTE
|
||||
TYPE(5)=STRINGA
|
||||
POSITION(5)=19
|
||||
LENGTH(5)=26
|
||||
MESSAGE(5) = _DITTA,!RAGSOC,1
|
||||
|
||||
NAME(6)=NUMERO RICEVUTE NEL FLUSSO
|
||||
TYPE(6)=NUMERO
|
||||
POSITION(6)=45
|
||||
LENGTH(6)=7
|
||||
MESSAGE(6) = _NRIBA,!TOT
|
||||
|
||||
NAME(7)= TOT IMPORTI NEGATIVI
|
||||
TYPE(7)= NUMERO
|
||||
POSITION(7)=52
|
||||
LENGTH(7)=15
|
||||
PICTURE(7)=@@@@@@@@@@@@@@@
|
||||
|
||||
|
||||
NAME(8)= TOTALE IMPORTI POSITIVI
|
||||
TYPE(8)= NUMERO
|
||||
POSITION(8)=67
|
||||
LENGTH(8)=15
|
||||
PICTURE(8)=@@@@@@@@@@@@@@@
|
||||
MESSAGE(8)=_IMPORTO,!TOT
|
||||
|
||||
NAME(9)=NUMERO RECORD
|
||||
TYPE(9)= NUMERO
|
||||
POSITION(9)=82
|
||||
LENGTH(9)=7
|
||||
MESSAGE(9) = _NRIBA,!NREC
|
||||
|
||||
NAME(10)=CAMPO ALTERABILE
|
||||
TYPE(10)=FISSO
|
||||
POSITION(10)=89
|
||||
LENGTH(10)=24
|
||||
|
||||
NAME(11)=CODICE MONETA
|
||||
TYPE(11)=STRINGA
|
||||
POSITION(11)=113
|
||||
LENGTH(11)=1
|
||||
MESSAGE(11) = _CODMON
|
||||
|
||||
NAME(12)=FILLER
|
||||
TYPE(12)=FISSO
|
||||
POSITION(12)=114
|
||||
LENGTH(12)=6
|
@ -93,7 +93,6 @@ POSITION(7)=113
|
||||
LENGTH(7)=1
|
||||
MESSAGE(7) = _CODMON
|
||||
|
||||
|
||||
NAME(8)=FILLER
|
||||
TYPE(8)=FISSO
|
||||
POSITION(8)=114
|
||||
@ -207,7 +206,6 @@ NAME(18) = FILLER
|
||||
TYPE(18) = FISSO
|
||||
POSITION(18) = 113
|
||||
LENGTH(18) = 6
|
||||
// MESSAGE(18) = _FISSO,!1
|
||||
|
||||
NAME(19) = CODICE MONETA
|
||||
TYPE(19) = STRINGA
|
||||
|
Loading…
x
Reference in New Issue
Block a user