Patch level : 12.0 1044
Files correlati : cg0.exe cg0200a.msk cgtbbnp.msk Commento : Agiunto supporto per IBAN esteri all'anagrafica clienti e alle banche di presentazione
This commit is contained in:
parent
5129e36b37
commit
728cfef2eb
@ -797,9 +797,8 @@ void TClifo_application::init_modify_mode(TMask& m)
|
|||||||
|
|
||||||
void TClifo_application::set_pnae(TMask& m, TToken_string& nonacc, TToken_string& nonscd)
|
void TClifo_application::set_pnae(TMask& m, TToken_string& nonacc, TToken_string& nonscd)
|
||||||
{
|
{
|
||||||
TSheet_field& pnae = m.sfield(F_NONACCEFF);
|
TSheet_field& pnae = m.sfield(F_NONACCEFF);
|
||||||
|
pnae.destroy();
|
||||||
pnae.reset_sheet();
|
|
||||||
TToken_string periodo(12, ',');
|
TToken_string periodo(12, ',');
|
||||||
int per = 0;
|
int per = 0;
|
||||||
for (bool good = nonacc.get(per, periodo); good; good = nonacc.get(++per, periodo))
|
for (bool good = nonacc.get(per, periodo); good; good = nonacc.get(++per, periodo))
|
||||||
@ -815,10 +814,11 @@ void TClifo_application::set_pnae(TMask& m, TToken_string& nonacc, TToken_string
|
|||||||
|
|
||||||
void TClifo_application::add_bank(TSheet_field& ns_sh, const TRectype& rec)
|
void TClifo_application::add_bank(TSheet_field& ns_sh, const TRectype& rec)
|
||||||
{
|
{
|
||||||
TToken_string & row = ns_sh.row(-1);
|
|
||||||
|
|
||||||
|
TString4 iso, cin, bcin;
|
||||||
TString8 abi, cab;
|
TString8 abi, cab;
|
||||||
TString80 numcc, iban;
|
TString80 numcc, iban;
|
||||||
|
TString8 progr;
|
||||||
|
|
||||||
switch (rec.num())
|
switch (rec.num())
|
||||||
{
|
{
|
||||||
@ -831,6 +831,8 @@ void TClifo_application::add_bank(TSheet_field& ns_sh, const TRectype& rec)
|
|||||||
case LF_CFVEN:
|
case LF_CFVEN:
|
||||||
abi = rec.get(CFV_CODABIPR);
|
abi = rec.get(CFV_CODABIPR);
|
||||||
cab = rec.get(CFV_CODCABPR);
|
cab = rec.get(CFV_CODCABPR);
|
||||||
|
if (ns_sh.sheet_mask().efield(F_PROGPR).active())
|
||||||
|
progr = "01"; // verificare
|
||||||
break;
|
break;
|
||||||
case LF_CFBAN:
|
case LF_CFBAN:
|
||||||
abi = rec.get(CFBAN_ABI);
|
abi = rec.get(CFBAN_ABI);
|
||||||
@ -840,85 +842,43 @@ void TClifo_application::add_bank(TSheet_field& ns_sh, const TRectype& rec)
|
|||||||
// Copia il progressivo solo nello sheet delle banche di presentazione
|
// Copia il progressivo solo nello sheet delle banche di presentazione
|
||||||
if (ns_sh.sheet_mask().efield(F_PROGPR).active())
|
if (ns_sh.sheet_mask().efield(F_PROGPR).active())
|
||||||
{
|
{
|
||||||
const TString& progr = rec.get(CFBAN_PROGPR);
|
progr = rec.get(CFBAN_PROGPR);
|
||||||
row.add(progr, ns_sh.cid2index(F_PROGPR));
|
|
||||||
if (abi.len()+cab.len() == 10)
|
TString16 codtab; codtab << abi << cab << progr;
|
||||||
{
|
|
||||||
TString16 codtab; codtab << abi << cab << progr;
|
iban = cache().get("BNP", codtab, "S3");
|
||||||
const TString& ib = cache().get("BNP", codtab, "S3");
|
|
||||||
TString msg;
|
|
||||||
if (iban_check(ib, msg) == 0)
|
|
||||||
iban = ib;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Esistono dati erronamente più lunghi
|
|
||||||
numcc.cut(12); numcc.trim();
|
|
||||||
|
|
||||||
if (iban.full())
|
if (iban.full())
|
||||||
|
split_IBAN(iban, iso, cin, bcin, abi, cab, numcc);
|
||||||
|
if (iso.full() || cin.full() || bcin.full() || abi.full() || cab.full() || numcc.full())
|
||||||
{
|
{
|
||||||
TString msg;
|
int nrow = ns_sh.set_row_cell(F_IBAN_STATO, iso);
|
||||||
if (iban_check(iban, msg) == 0)
|
|
||||||
{
|
ns_sh.set_row_cell(F_IBAN_CHECK, cin, nrow);
|
||||||
if (iban.starts_with("IT"))
|
ns_sh.set_row_cell(F_BBAN_CIN, bcin, nrow);
|
||||||
{
|
ns_sh.set_row_cell(F_BBAN_ABI, abi, nrow);
|
||||||
abi = iban.mid(5, 5);
|
ns_sh.set_row_cell(F_BBAN_CAB, cab, nrow);
|
||||||
cab = iban.mid(10, 5);
|
if (iso == "IT")
|
||||||
numcc = iban.right(12);
|
ns_sh.set_row_cell(F_BBAN_CONTO, numcc, nrow);
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
|
ns_sh.set_row_cell(F_BBAN, numcc, nrow);
|
||||||
|
ns_sh.set_row_cell(F_IBAN, iban, nrow);
|
||||||
|
if (ns_sh.sheet_mask().efield(F_PROGPR).active())
|
||||||
|
ns_sh.set_row_cell(F_PROGPR, progr, nrow);
|
||||||
|
if (abi.full() && cab.full())
|
||||||
{
|
{
|
||||||
if (bban_check(iban, msg) == 0)
|
TString key(abi);
|
||||||
{
|
|
||||||
abi = iban.mid(1, 5);
|
key << cab;
|
||||||
cab = iban.mid(6, 5);
|
ns_sh.set_row_cell(F_DESBAN, cache().get("%BAN", key,"S0"), nrow);
|
||||||
numcc = iban.mid(11);
|
|
||||||
row.add("IT", ns_sh.cid2index(F_IBAN_STATO));
|
|
||||||
row.add(iban.left(1), ns_sh.cid2index(F_BBAN_CIN));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
iban.cut(0);
|
|
||||||
}
|
}
|
||||||
}
|
enable_iban_fields(ns_sh.sheet_row_mask(nrow), F_BBAN, F_BBAN_CIN, F_BBAN_ABI,
|
||||||
|
F_BBAN_CAB, F_BBAN_CONTO, F_DESBAN, iso == "IT",
|
||||||
row.add(abi, ns_sh.cid2index(F_BBAN_ABI));
|
ns_sh.sheet_mask().efield(F_PROGPR).active(), nrow);
|
||||||
row.add(cab, ns_sh.cid2index(F_BBAN_CAB));
|
|
||||||
row.add(numcc, ns_sh.cid2index(F_BBAN_CONTO));
|
|
||||||
|
|
||||||
if (abi.len()+cab.len() == 10)
|
|
||||||
{
|
|
||||||
TString16 key; key << abi << cab;
|
|
||||||
row.add(cache().get("%BAN", key, "S0"), ns_sh.cid2index(F_DESBAN));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (row.starts_with("IT") && row.get_int(ns_sh.cid2index(F_IBAN_CHECK)) == 0)
|
|
||||||
{
|
|
||||||
const int i = ns_sh.items()-1;
|
|
||||||
TMask& msk = ns_sh.sheet_row_mask(i);
|
|
||||||
ns_sh.update_mask(i); // Copia dalla riga alla maschera
|
|
||||||
msk.efield(F_IBAN_CHECK).validate(K_TAB); // Calcola checksum
|
|
||||||
const TString& chk = msk.get(F_IBAN_CHECK);
|
|
||||||
if (!real::is_null(chk) && iban.len() == 23) // BBAN da completare
|
|
||||||
{
|
|
||||||
iban.insert(chk);
|
|
||||||
iban.insert("IT");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (iban.full())
|
|
||||||
{
|
|
||||||
row.add(iban.left(2), ns_sh.cid2index(F_IBAN_STATO));
|
|
||||||
row.add(iban.mid(2,2), ns_sh.cid2index(F_IBAN_CHECK));
|
|
||||||
if (row.starts_with("IT"))
|
|
||||||
row.add(iban.mid(4,1), ns_sh.cid2index(F_BBAN_CIN));
|
|
||||||
else
|
|
||||||
row.add(iban.mid(4), ns_sh.cid2index(F_BBAN));
|
|
||||||
row.add(iban, ns_sh.cid2index(F_IBAN));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -936,7 +896,6 @@ int TClifo_application::read(TMask& m)
|
|||||||
if (_gesven)
|
if (_gesven)
|
||||||
{
|
{
|
||||||
TToken_string riga(240);
|
TToken_string riga(240);
|
||||||
|
|
||||||
indsp_sheet().reset();
|
indsp_sheet().reset();
|
||||||
for (i = 0; i < _rel->indirizzi(); i++)
|
for (i = 0; i < _rel->indirizzi(); i++)
|
||||||
{
|
{
|
||||||
@ -983,8 +942,7 @@ int TClifo_application::read(TMask& m)
|
|||||||
}
|
}
|
||||||
|
|
||||||
TSheet_field& s = m.sfield(F_SHEET_CONT);
|
TSheet_field& s = m.sfield(F_SHEET_CONT);
|
||||||
|
s.destroy();
|
||||||
s.reset_sheet();
|
|
||||||
for (int c = 0; c < _rel->contatti(); c++)
|
for (int c = 0; c < _rel->contatti(); c++)
|
||||||
{
|
{
|
||||||
const TRectype& contact = _rel->contatto(c);
|
const TRectype& contact = _rel->contatto(c);
|
||||||
@ -1004,7 +962,7 @@ int TClifo_application::read(TMask& m)
|
|||||||
const TRectype& clifo = get_relation()->curr(LF_CLIFO);
|
const TRectype& clifo = get_relation()->curr(LF_CLIFO);
|
||||||
TSheet_field & ns_sh = m.sfield(F_BANA);
|
TSheet_field & ns_sh = m.sfield(F_BANA);
|
||||||
|
|
||||||
ns_sh.reset_sheet();
|
ns_sh.destroy(-1, false);
|
||||||
for (i = 1; i <= ns_ban.rows(); i++)
|
for (i = 1; i <= ns_ban.rows(); i++)
|
||||||
add_bank(ns_sh, ns_ban.row(i));
|
add_bank(ns_sh, ns_ban.row(i));
|
||||||
if (ns_ban.rows() == 0 && clifo.get_int(CLI_CODABI) != 0)
|
if (ns_ban.rows() == 0 && clifo.get_int(CLI_CODABI) != 0)
|
||||||
@ -1018,7 +976,7 @@ int TClifo_application::read(TMask& m)
|
|||||||
TRecord_array vs_ban(key, LF_CFBAN);
|
TRecord_array vs_ban(key, LF_CFBAN);
|
||||||
TSheet_field & vs_sh = m.sfield(F_BANP);
|
TSheet_field & vs_sh = m.sfield(F_BANP);
|
||||||
|
|
||||||
vs_sh.reset_sheet();
|
vs_sh.destroy(-1, false);
|
||||||
for (i = 1; i <= vs_ban.rows(); i++)
|
for (i = 1; i <= vs_ban.rows(); i++)
|
||||||
add_bank(vs_sh, vs_ban.row(i));
|
add_bank(vs_sh, vs_ban.row(i));
|
||||||
if (vs_ban.rows() == 0 && cfven.get_int(CFV_CODABIPR) != 0)
|
if (vs_ban.rows() == 0 && cfven.get_int(CFV_CODABIPR) != 0)
|
||||||
@ -1053,7 +1011,7 @@ void TClifo_application::ini2mask(TConfig& ini, TMask& m, bool query)
|
|||||||
if (!ini.set_paragraph(para))
|
if (!ini.set_paragraph(para))
|
||||||
break;
|
break;
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
indsp_sheet().reset_sheet();
|
indsp_sheet().reset();
|
||||||
|
|
||||||
riga.cut(0);
|
riga.cut(0);
|
||||||
riga.add(ini.get(IND_RAGSOC));
|
riga.add(ini.get(IND_RAGSOC));
|
||||||
@ -1293,6 +1251,7 @@ void TClifo_application::reset_sheet()
|
|||||||
{
|
{
|
||||||
TToken_string nulla = "|**";
|
TToken_string nulla = "|**";
|
||||||
nulla << TR("Nessuno") << "**";
|
nulla << TR("Nessuno") << "**";
|
||||||
|
|
||||||
|
|
||||||
TClifo_application& a = app();
|
TClifo_application& a = app();
|
||||||
a.field_sheet(F_CODINDDOC).destroy();
|
a.field_sheet(F_CODINDDOC).destroy();
|
||||||
@ -1425,19 +1384,18 @@ void TClifo_application::common_f(const TMask& m)
|
|||||||
|
|
||||||
for (int i = 0; i < nsrow; i++)
|
for (int i = 0; i < nsrow; i++)
|
||||||
{
|
{
|
||||||
TToken_string & row = ns_sh.row(i);
|
|
||||||
TRectype & ban = ns_ban.row(i + 1, true);
|
TRectype & ban = ns_ban.row(i + 1, true);
|
||||||
|
|
||||||
ban.put(CFBAN_ABI, row.get(ns_sh.cid2index(F_BBAN_ABI)));
|
ban.put(CFBAN_ABI, ns_sh.get_str_row_cell(i, F_BBAN_ABI));
|
||||||
ban.put(CFBAN_CAB, row.get(ns_sh.cid2index(F_BBAN_CAB)));
|
ban.put(CFBAN_CAB, ns_sh.get_str_row_cell(i, F_BBAN_CAB));
|
||||||
ban.put(CFBAN_NUMCC, row.get(ns_sh.cid2index(F_BBAN_CONTO)));
|
ban.put(CFBAN_NUMCC, ns_sh.get_str_row_cell(i, F_BBAN_CONTO));
|
||||||
ban.put(CFBAN_IBAN, row.get(ns_sh.cid2index(F_IBAN)));
|
ban.put(CFBAN_IBAN, ns_sh.get_str_row_cell(i, F_IBAN));
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
{
|
{
|
||||||
clifo.put(CLI_CODABI, row.get(ns_sh.cid2index(F_BBAN_ABI)));
|
clifo.put(CLI_CODABI, ns_sh.get_str_row_cell(i, F_BBAN_ABI));
|
||||||
clifo.put(CLI_CODCAB, row.get(ns_sh.cid2index(F_BBAN_CAB)));
|
clifo.put(CLI_CODCAB, ns_sh.get_str_row_cell(i, F_BBAN_CAB));
|
||||||
clifo.put(CLI_NUMCC, row.get(ns_sh.cid2index(F_BBAN_CONTO)));
|
clifo.put(CLI_NUMCC, ns_sh.get_str_row_cell(i, F_BBAN_CONTO));
|
||||||
clifo.put(CLI_IBAN, row.get(ns_sh.cid2index(F_IBAN)));
|
clifo.put(CLI_IBAN, ns_sh.get_str_row_cell(i, F_IBAN));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nsrow == 0)
|
if (nsrow == 0)
|
||||||
@ -1463,16 +1421,15 @@ void TClifo_application::common_f(const TMask& m)
|
|||||||
|
|
||||||
for (int i = 0; i < vsrow; i++)
|
for (int i = 0; i < vsrow; i++)
|
||||||
{
|
{
|
||||||
TToken_string & row = vs_sh.row(i);
|
|
||||||
TRectype & ban = vs_ban.row(i + 1, true);
|
TRectype & ban = vs_ban.row(i + 1, true);
|
||||||
|
|
||||||
ban.put(CFBAN_ABI, row.get(vs_sh.cid2index(F_BBAN_ABI)));
|
ban.put(CFBAN_ABI, vs_sh.get_str_row_cell(i, F_BBAN_ABI));
|
||||||
ban.put(CFBAN_CAB, row.get(vs_sh.cid2index(F_BBAN_CAB)));
|
ban.put(CFBAN_CAB, vs_sh.get_str_row_cell(i, F_BBAN_CAB));
|
||||||
ban.put(CFBAN_PROGPR, row.get(vs_sh.cid2index(F_PROGPR)));
|
ban.put(CFBAN_PROGPR, vs_sh.get_str_row_cell(i, F_PROGPR));
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
{
|
{
|
||||||
cfven.put(CFV_CODABIPR, row.get(ns_sh.cid2index(F_BBAN_ABI)));
|
cfven.put(CFV_CODABIPR, vs_sh.get_str_row_cell(i, F_BBAN_ABI));
|
||||||
cfven.put(CFV_CODCABPR, row.get(ns_sh.cid2index(F_BBAN_CAB)));
|
cfven.put(CFV_CODCABPR, vs_sh.get_str_row_cell(i, F_BBAN_CAB));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (vsrow == 0)
|
if (vsrow == 0)
|
||||||
|
@ -210,11 +210,10 @@
|
|||||||
#define F_BBAN_ABI 104
|
#define F_BBAN_ABI 104
|
||||||
#define F_BBAN_CAB 105
|
#define F_BBAN_CAB 105
|
||||||
#define F_BBAN_CONTO 106
|
#define F_BBAN_CONTO 106
|
||||||
#define F_PROGPR 107
|
#define F_BBAN 107
|
||||||
#define F_DESBAN 108
|
#define F_PROGPR 108
|
||||||
#define F_IBAN 109
|
#define F_DESBAN 109
|
||||||
|
#define F_IBAN 110
|
||||||
#define F_BBAN 350
|
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////
|
//////////////////////////////////////
|
||||||
|
@ -838,6 +838,7 @@ BEGIN
|
|||||||
ITEM "IBAN\nABI@5"
|
ITEM "IBAN\nABI@5"
|
||||||
ITEM "IBAN\nCAB@5"
|
ITEM "IBAN\nCAB@5"
|
||||||
ITEM "IBAN\nConto@12"
|
ITEM "IBAN\nConto@12"
|
||||||
|
ITEM "BBAN@15"
|
||||||
ITEM "@1"
|
ITEM "@1"
|
||||||
ITEM "Descrizione@50"
|
ITEM "Descrizione@50"
|
||||||
ITEM "IBAN@27"
|
ITEM "IBAN@27"
|
||||||
@ -857,6 +858,7 @@ BEGIN
|
|||||||
ITEM "IBAN\nABI@5"
|
ITEM "IBAN\nABI@5"
|
||||||
ITEM "IBAN\nCAB@5"
|
ITEM "IBAN\nCAB@5"
|
||||||
ITEM "IBAN\nConto@12"
|
ITEM "IBAN\nConto@12"
|
||||||
|
ITEM "BBAN@15"
|
||||||
ITEM "Progressivo"
|
ITEM "Progressivo"
|
||||||
ITEM "Descrizione@50"
|
ITEM "Descrizione@50"
|
||||||
ITEM "IBAN@27"
|
ITEM "IBAN@27"
|
||||||
@ -2401,26 +2403,26 @@ ENDPAGE
|
|||||||
|
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
|
||||||
PAGE "Banche di appoggio" -1 -1 52 5
|
PAGE "Banche di appoggio" -1 -1 80 8
|
||||||
|
|
||||||
STRING F_IBAN_STATO 2
|
STRING F_IBAN_STATO 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 ""
|
PROMPT 1 1 ""
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO F_DESBAN 0
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_IBAN_CHECK 2
|
NUMBER F_IBAN_CHECK 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 5 1 ""
|
PROMPT 5 1 ""
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO F_DESBAN 0
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA F_BBAN_CIN 1
|
STRINGA F_BBAN_CIN 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 9 1 ""
|
PROMPT 9 1 ""
|
||||||
FLAGS "U"
|
FLAGS "UG"
|
||||||
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -2434,7 +2436,7 @@ BEGIN
|
|||||||
OUTPUT F_BBAN_ABI CODTAB[1,5]
|
OUTPUT F_BBAN_ABI CODTAB[1,5]
|
||||||
HELP "Codice ABI banca del C/F"
|
HELP "Codice ABI banca del C/F"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
FLAGS "Z"
|
FLAGS "ZG"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_BBAN_CAB 5
|
NUMBER F_BBAN_CAB 5
|
||||||
@ -2451,16 +2453,22 @@ BEGIN
|
|||||||
OUTPUT F_DESBAN S0
|
OUTPUT F_DESBAN S0
|
||||||
HELP "Codice CAB banca del C/F"
|
HELP "Codice CAB banca del C/F"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
FLAGS "Z"
|
FLAGS "ZG"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_BBAN_CONTO 12
|
STRING F_BBAN_CONTO 12
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 1 ""
|
PROMPT 30 1 ""
|
||||||
FLAGS "UZ"
|
FLAGS "UZG"
|
||||||
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRING F_BBAN 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 30 2 ""
|
||||||
|
FLAGS "UG"
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER F_PROGPR 2
|
NUMBER F_PROGPR 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 60 "Progressivo IGNORATO"
|
PROMPT 1 60 "Progressivo IGNORATO"
|
||||||
@ -2469,27 +2477,22 @@ END
|
|||||||
|
|
||||||
STRING F_DESBAN 50 40
|
STRING F_DESBAN 50 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 2 ""
|
PROMPT 1 3 ""
|
||||||
USE %BAN KEY 2 SELECT CODTAB ?= "??????????"
|
USE %BAN KEY 2 SELECT CODTAB ?= "??????????"
|
||||||
INPUT S0 F_DESBAN
|
INPUT S0 F_DESBAN
|
||||||
DISPLAY "Denominazione@50" S0
|
DISPLAY "Denominazione@50" S0
|
||||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||||
COPY OUTPUT F_BBAN_CAB
|
COPY OUTPUT F_BBAN_CAB
|
||||||
|
FLAGS "G"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_IBAN 27
|
STRING F_IBAN 27
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "IBAN "
|
PROMPT 1 4 "IBAN "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_BBAN 23
|
|
||||||
BEGIN
|
|
||||||
PROMPT 41 3 "BBAN "
|
|
||||||
FLAGS "HD"
|
|
||||||
END
|
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
TOOLBAR "topbar" 0 0 0 2
|
TOOLBAR "topbar" 0 0 0 2
|
||||||
@ -2518,6 +2521,7 @@ PAGE "Banche di presentazione" -1 -1 80 8
|
|||||||
STRING F_IBAN_STATO 2
|
STRING F_IBAN_STATO 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 2 "Codice IBAN "
|
PROMPT 2 2 "Codice IBAN "
|
||||||
|
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO F_DESBAN 1
|
||||||
FLAGS "UDG"
|
FLAGS "UDG"
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -2529,7 +2533,7 @@ END
|
|||||||
|
|
||||||
STRINGA F_BBAN_CIN 1
|
STRINGA F_BBAN_CIN 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 33 42 "BBAN "
|
PROMPT 33 42 ""
|
||||||
FLAGS "UDG"
|
FLAGS "UDG"
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -2555,9 +2559,10 @@ BEGIN
|
|||||||
OUTPUT F_IBAN_CHECK S3[3,4]
|
OUTPUT F_IBAN_CHECK S3[3,4]
|
||||||
OUTPUT F_BBAN_CIN S3[5,5]
|
OUTPUT F_BBAN_CIN S3[5,5]
|
||||||
OUTPUT F_BBAN_CONTO S3[16,27]
|
OUTPUT F_BBAN_CONTO S3[16,27]
|
||||||
|
OUTPUT F_BBAN S6
|
||||||
HELP "Codice ABI banca del C/F"
|
HELP "Codice ABI banca del C/F"
|
||||||
CHECKTYPE SEARCH
|
CHECKTYPE SEARCH
|
||||||
FLAGS "Z"
|
FLAGS "ZG"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_BBAN_CAB 5
|
NUMBER F_BBAN_CAB 5
|
||||||
@ -2566,13 +2571,19 @@ BEGIN
|
|||||||
COPY ALL F_BBAN_ABI
|
COPY ALL F_BBAN_ABI
|
||||||
HELP "Codice CAB banca del C/F"
|
HELP "Codice CAB banca del C/F"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
FLAGS "Z"
|
FLAGS "GZ"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_BBAN_CONTO 12
|
STRING F_BBAN_CONTO 12
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 59 2 ""
|
PROMPT 59 2 ""
|
||||||
FLAGS "UDZ"
|
FLAGS "UGDZ"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_BBAN 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 59 2 ""
|
||||||
|
FLAGS "UGD"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_PROGPR 2
|
NUMBER F_PROGPR 2
|
||||||
@ -2592,6 +2603,7 @@ BEGIN
|
|||||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||||
COPY OUTPUT F_BBAN_CAB
|
COPY OUTPUT F_BBAN_CAB
|
||||||
|
FLAGS "G"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_IBAN 27
|
STRING F_IBAN 27
|
||||||
|
@ -708,7 +708,7 @@ void TCaus_app::load_rcaus(TMask& m)
|
|||||||
const TString4 cod(_rel->curr().get(RCA_CODCAUS));
|
const TString4 cod(_rel->curr().get(RCA_CODCAUS));
|
||||||
TString d, da(50);
|
TString d, da(50);
|
||||||
|
|
||||||
ss().destroy();
|
ss().reset_sheet();
|
||||||
|
|
||||||
const int last = _rcaus_rec->last_row();
|
const int last = _rcaus_rec->last_row();
|
||||||
for (int i = 1; i <= last; i++)
|
for (int i = 1; i <= last; i++)
|
||||||
|
@ -40,6 +40,8 @@ protected:
|
|||||||
virtual int write(const TMask& m);
|
virtual int write(const TMask& m);
|
||||||
virtual int rewrite(const TMask& m);
|
virtual int rewrite(const TMask& m);
|
||||||
|
|
||||||
|
static bool iban_handler(TMask_field& f, KEY k);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// @cmember Disabilita la verifica del modulo : essendo una anagrafica, va sempre abilitata
|
// @cmember Disabilita la verifica del modulo : essendo una anagrafica, va sempre abilitata
|
||||||
virtual bool check_autorization() const
|
virtual bool check_autorization() const
|
||||||
@ -120,6 +122,17 @@ void CGTTable_application::init_query_mode(TMask& m)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CGTTable_application::iban_handler(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
if (f.initial_check(k))
|
||||||
|
{
|
||||||
|
const TString & iban = f.get();
|
||||||
|
|
||||||
|
set_iban_fields(iban, f.mask(), F_BBAN, F_IBAN_STATO, F_IBAN_CHECK, F_BBAN_CIN, F_BBAN_ABI, F_BBAN_CAB, F_BBAN_CONTO, F_DESBAN, false);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool CGTTable_application::user_create()
|
bool CGTTable_application::user_create()
|
||||||
{
|
{
|
||||||
bool ok = TTable_application::user_create();
|
bool ok = TTable_application::user_create();
|
||||||
@ -132,6 +145,9 @@ bool CGTTable_application::user_create()
|
|||||||
}
|
}
|
||||||
if (get_tabname() == TAB_NOTECLI)
|
if (get_tabname() == TAB_NOTECLI)
|
||||||
get_mask()->set_handler(F_NOT_DESC, desnot_handler);
|
get_mask()->set_handler(F_NOT_DESC, desnot_handler);
|
||||||
|
if (get_tabname() == "BNP")
|
||||||
|
get_mask()->set_handler(F_IBAN, iban_handler);
|
||||||
|
|
||||||
}
|
}
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
#define F_BBAN_ABI 145
|
#define F_BBAN_ABI 145
|
||||||
#define F_BBAN_CAB 146
|
#define F_BBAN_CAB 146
|
||||||
#define F_BBAN_CONTO 147
|
#define F_BBAN_CONTO 147
|
||||||
|
#define F_DESBAN 148
|
||||||
|
|
||||||
#define F_CBI 150
|
#define F_CBI 150
|
||||||
#define F_IBAN_PAG 151
|
#define F_IBAN_PAG 151
|
||||||
|
@ -118,7 +118,7 @@ END
|
|||||||
STRING F_IBAN 34
|
STRING F_IBAN 34
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 55 ""
|
PROMPT 2 55 ""
|
||||||
FLAGS "D"
|
FLAGS "DG"
|
||||||
FIELD S3
|
FIELD S3
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -126,20 +126,21 @@ STRING F_IBAN_STATO 2
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 6 "Codice IBAN "
|
PROMPT 2 6 "Codice IBAN "
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO F_DESBAN 0
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_IBAN_CHECK 2
|
NUMBER F_IBAN_CHECK 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 19 6 ""
|
PROMPT 19 6 ""
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO F_DESBAN 0
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA F_BBAN 30
|
STRINGA F_BBAN 30
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 30 6 "BBAN "
|
PROMPT 30 6 "BBAN "
|
||||||
FLAGS "UH"
|
FLAGS "UH"
|
||||||
|
VALIDATE CHECK_IBAN_FUNC F_IBAN F_IBAN_STATO F_IBAN_CHECK F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO F_DESBAN 0
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA F_BBAN_CIN 1
|
STRINGA F_BBAN_CIN 1
|
||||||
@ -170,6 +171,12 @@ BEGIN
|
|||||||
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
VALIDATE CHECK_BBAN_FUNC F_BBAN F_BBAN_CIN F_BBAN_ABI F_BBAN_CAB F_BBAN_CONTO
|
||||||
END
|
END
|
||||||
|
|
||||||
|
STRING F_DESBAN 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 19 7 ""
|
||||||
|
GROUP "DH"
|
||||||
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 5
|
GROUPBOX DLG_NULL 78 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "@bPortafoglio Effetti all'incasso"
|
PROMPT 1 8 "@bPortafoglio Effetti all'incasso"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user