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:
Alessandro Bonazzi 2021-03-22 12:27:04 +01:00
parent 0444dc05ee
commit fb3716dac6
4 changed files with 57 additions and 60 deletions

View File

@ -2888,3 +2888,52 @@ TYesnoallnone_box::TYesnoallnone_box(const char * message, int default_key)
TYesnoallnone_box::~TYesnoallnone_box()
{}
void enable_iban_fields(TMask & mask, short fldbban, short fldbcin,
short fldabi, short fldcab, short fldcc,
short flddes, const bool italy, bool pres, int nrow)
{
if (mask.is_sheetmask())
{
TSheet_field * s = mask.get_sheet();
if (nrow >= 0)
s->select(nrow);
}
if (fldbban > 0 && !pres)
mask.show(fldbban, !italy);
if (!pres)
{
mask.show(fldbcin, italy);
mask.show(fldabi, italy);
mask.show(fldcab, italy);
mask.show(fldcc, italy);
}
if (flddes > 0)
mask.show(flddes, italy);
}
void set_iban_fields(const char * iban, TMask & mask,
short fldbban, short fldiso, short fldcin,
short fldbcin, short fldabi, short fldcab,
short fldcc, short flddes, bool pres)
{
TString4 iso, cin, bcin;
TString8 abi, cab;
TString80 cc;
TString msg;
TString wiban(iban);
split_IBAN(wiban, iso, cin, bcin, abi, cab, cc);
const bool italy = iso.blank() || (iso == "IT");
enable_iban_fields(mask, fldbban, fldbcin, fldabi, fldcab, fldcc, flddes, italy, pres);
mask.set(fldiso, iso);
mask.set(fldcin, cin);
if (fldbban > 0)
mask.set(fldbban, italy ? wiban.mid(4) : cc);
mask.set(fldbcin, bcin);
mask.set(fldabi, abi);
mask.set(fldcab, cab);
mask.set(fldcc, italy ? cc : EMPTY_STRING);
}

View File

@ -560,5 +560,12 @@ public:
TSheet_field* __s = NULL; \
for (int __i = 0; __i < (__m).fields() && (__s=(TSheet_field*)&(__m).fld(__i))!= NULL; __i++) if ((__m).fld(__i).is_sheet())
void enable_iban_fields(TMask & mask, short fldbban, short fldbcin,
short fldabi, short fldcab, short fldcc,
short flddes, const bool italy, bool pres, int nrow = -1);
void set_iban_fields(const char * iban, TMask & mask,
short fldbban, short fldiso, short fldcin,
short fldbcin, short fldabi, short fldcab,
short fldcc, short flddes, bool pres);
#endif // __MASK_H

View File

@ -897,52 +897,3 @@ void split_IBAN(const char * iban, TString & iso, TString & cin,
}
}
void enable_iban_fields(TMask & mask, short fldbban, short fldbcin,
short fldabi, short fldcab, short fldcc,
short flddes, const bool italy, bool pres, int nrow)
{
if (mask.is_sheetmask())
{
TSheet_field * s = mask.get_sheet();
if (nrow >= 0)
s->select(nrow);
}
if (fldbban > 0 && !pres)
mask.show(fldbban, !italy);
if (!pres)
{
mask.show(fldbcin, italy);
mask.show(fldabi, italy);
mask.show(fldcab, italy);
mask.show(fldcc, italy);
}
if (flddes > 0)
mask.show(flddes, italy);
}
void set_iban_fields(const char * iban, TMask & mask,
short fldbban, short fldiso, short fldcin,
short fldbcin, short fldabi, short fldcab,
short fldcc, short flddes, bool pres)
{
TString4 iso, cin, bcin;
TString8 abi, cab;
TString80 cc;
TString msg;
TString wiban(iban);
split_IBAN(wiban, iso, cin, bcin, abi, cab, cc);
const bool italy = iso.blank() || (iso == "IT");
enable_iban_fields(mask, fldbban, fldbcin, fldabi, fldcab, fldcc, flddes, italy, pres);
mask.set(fldiso, iso);
mask.set(fldcin, cin);
if (fldbban > 0)
mask.set(fldbban, italy ? wiban.mid(4) : cc);
mask.set(fldbcin, bcin);
mask.set(fldabi, abi);
mask.set(fldcab, cab);
mask.set(fldcc, italy ? cc : EMPTY_STRING);
}

View File

@ -10,10 +10,6 @@
#include <date.h>
#endif
#ifndef __MASK_H
class TMask;
#endif
#ifndef __STRINGS_H
#include <strings.h>
#endif
@ -121,11 +117,5 @@ void build_IBAN(TString & iban, const char * iso, const char * icin,
const char * bcin, const char * abi, const char * cab, const char * cc);
void split_IBAN(const char * iban, TString & iso, TString & icin,
TString & bcin, TString & abi, TString & cab, TString & cc);
void enable_iban_fields(TMask & mask, short fldbban, short fldbcin,
short fldabi, short fldcab, short fldcc,
short flddes, const bool italy, bool pres, int nrow = -1);
void set_iban_fields(const char * iban, TMask & mask,
short fldbban, short fldiso, short fldcin,
short fldbcin, short fldabi, short fldcab,
short fldcc, short flddes, bool pres);
#endif /* __UTILITY_H */