Patch level : 12.0 824
Files correlati : ef0.exe Commento : Corretta ricerca IBAN da cfven (non esiste) a cfban/tab(BAN)
This commit is contained in:
parent
76ab6fec41
commit
02b8cce7e3
@ -8,6 +8,9 @@
|
|||||||
|
|
||||||
#include <comuni.h>
|
#include <comuni.h>
|
||||||
#include <doc.h>
|
#include <doc.h>
|
||||||
|
#include "../cg/cfban.h"
|
||||||
|
#include "tabutil.h"
|
||||||
|
#include "utility.h"
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////
|
||||||
// Classe per la gestione di effetti con metodi standard di: //
|
// Classe per la gestione di effetti con metodi standard di: //
|
||||||
@ -363,9 +366,7 @@ bool TVariazione_effetti::clifo_handler(TMask_field& f, KEY k)
|
|||||||
if (k == K_TAB && f.to_check(k))
|
if (k == K_TAB && f.to_check(k))
|
||||||
{
|
{
|
||||||
TMask& m = f.mask();
|
TMask& m = f.mask();
|
||||||
TString8 str;
|
TString iban; iban << get_iban(m.get(F_CODCF));
|
||||||
str << m.get(F_TIPOCF) << '|' << m.get(F_CODCF);
|
|
||||||
const TString& iban = cache().get(LF_CFVEN, str, "IBAN");
|
|
||||||
if (iban.not_empty())
|
if (iban.not_empty())
|
||||||
{
|
{
|
||||||
m.set(F_IBAN, iban);
|
m.set(F_IBAN, iban);
|
||||||
|
@ -6,6 +6,9 @@
|
|||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
#include "../cg/cfban.h"
|
||||||
|
#include "../cg/cgsaldac.h"
|
||||||
|
#include "tabutil.h"
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TPerformance_profiler
|
// TPerformance_profiler
|
||||||
@ -719,3 +722,44 @@ TString& to_tstring(int n)
|
|||||||
{
|
{
|
||||||
return to_tstring(static_cast<long>(n));
|
return to_tstring(static_cast<long>(n));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool get_bnp_iban(const TString& abi, const TString& cab, int nprog, TString& iban)
|
||||||
|
{
|
||||||
|
TTable bnp("BNP");
|
||||||
|
TString16 key;
|
||||||
|
key << abi << cab;
|
||||||
|
if (nprog > 0)
|
||||||
|
{
|
||||||
|
TString4 sprog;
|
||||||
|
sprog.format("%02d", nprog);
|
||||||
|
key << sprog;
|
||||||
|
}
|
||||||
|
bnp.put("CODTAB", key);
|
||||||
|
int err = bnp.read(_isgteq);
|
||||||
|
if (err == NOERR && !bnp.get("CODTAB").starts_with(abi))
|
||||||
|
err = _iskeynotfound;
|
||||||
|
if (err == NOERR)
|
||||||
|
iban = bnp.get("S3");
|
||||||
|
return err == NOERR;
|
||||||
|
}
|
||||||
|
|
||||||
|
TString get_iban(const TString& codcf)
|
||||||
|
{
|
||||||
|
TString iban;
|
||||||
|
TToken_string key;
|
||||||
|
key.add("C");
|
||||||
|
key.add(codcf);
|
||||||
|
key.add("V");
|
||||||
|
key.add(1);
|
||||||
|
const TRectype& cfban = cache().get(LF_CFBAN, key);
|
||||||
|
if (!cfban.empty())
|
||||||
|
{
|
||||||
|
const TString& abi_cf = cfban.get(CFBAN_ABI);
|
||||||
|
const TString& cab_cf = cfban.get(CFBAN_CAB);
|
||||||
|
const bool found_cf = abi_cf.full() && cab_cf.full();
|
||||||
|
iban = cfban.get(CFBAN_IBAN);
|
||||||
|
if (found_cf && iban.blank())
|
||||||
|
get_bnp_iban(abi_cf, cab_cf, -1, iban);
|
||||||
|
}
|
||||||
|
return iban;
|
||||||
|
}
|
@ -80,4 +80,8 @@ TString& to_tstring(long n);
|
|||||||
TString& to_tstring(int n);
|
TString& to_tstring(int n);
|
||||||
|
|
||||||
inline bool is_multi_table(const int file) { return file == LF_TAB || file == LF_TABGEN || file == LF_TABCOM || file == LF_TABMOD; }
|
inline bool is_multi_table(const int file) { return file == LF_TAB || file == LF_TABGEN || file == LF_TABCOM || file == LF_TABMOD; }
|
||||||
|
|
||||||
|
TString get_iban(const TString& codcf);
|
||||||
|
|
||||||
|
|
||||||
#endif /* __UTILITY_H */
|
#endif /* __UTILITY_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user