Patch level : 10.1004
Files correlati : ef0.exe Ricompilazione Demo : [ ] Commento : Bug 0001475: 0001837: Aggiungere selezione banca di appoggio su Disp. Incassi e pagamenti Nel programma di disposizioni incasso e pagamento non è possibile selezionare su quale banca bonificare il fornitore tra quelle presenti in anagrafica. Inoltre anche dal programma aggiornamento effetti se vado nella pagina dei parametri, non posso selezionare dalla tabella dalle banche del fornitore ma dall'anagrafica delle banche. git-svn-id: svn://10.65.10.50/branches/R_10_00@22152 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4e27c19bfc
commit
0fe6774d4c
120
ef/ef0a00.cpp
120
ef/ef0a00.cpp
@ -268,6 +268,24 @@ bool TPE_mask::fill_row(const TRiga_scadenze& rs, TToken_string& row, bool& part
|
||||
row.add("");
|
||||
row.add(cig);
|
||||
row.add("");
|
||||
TToken_string key;
|
||||
|
||||
key.add(get(F_TIPOCF));
|
||||
key.add(rs.get_long(SCAD_SOTTOCONTO));
|
||||
key.add("V");
|
||||
key.add(1);
|
||||
const TRectype & ns_ban = cache().get(LF_CFBAN, key);
|
||||
if (ns_ban.empty())
|
||||
{
|
||||
row.add("");
|
||||
row.add("");
|
||||
}
|
||||
else
|
||||
{
|
||||
row.add(rs.get(SCAD_CODABI));
|
||||
row.add(rs.get(SCAD_CODCAB));
|
||||
}
|
||||
row.add("");
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
@ -484,6 +502,9 @@ bool TPE_mask::fill_distinta(bool clear_all)
|
||||
|
||||
row.add(eff.get(EFF_CUP), sheet.cid2index(F_CUP));
|
||||
row.add(eff.get(EFF_CIG), sheet.cid2index(F_CIG));
|
||||
row.add(eff.get(EFF_CODABI), sheet.cid2index(F_ABIAPP));
|
||||
row.add(eff.get(EFF_CODCAB), sheet.cid2index(F_CABAPP));
|
||||
row.add(eff.get(EFF_IBAN), sheet.cid2index(F_IBANAPP));
|
||||
sheet.check_row(r - 1);
|
||||
if (partially_unassigned)
|
||||
sheet.disable_cell(r - 1, 1); // Non e' possibile mettere saldo
|
||||
@ -584,51 +605,48 @@ bool TPE_mask::check_bank(TEffetto& effetto, TLog_report& log) const
|
||||
const int tipocf = effetto.get_char(EFF_TIPOCF);
|
||||
|
||||
// Controllo solo ri.ba. clienti e bonifici fornitori
|
||||
if ((tipocf=='F') ? (tipopag==9) : (tipopag==3))
|
||||
TString8 abi = effetto.get(EFF_CODABI);
|
||||
TString8 cab = effetto.get(EFF_CODCAB);
|
||||
TString80 iban = effetto.get(EFF_IBAN);
|
||||
|
||||
TToken_string key(8);
|
||||
key = effetto.get(EFF_TIPOCF);
|
||||
key.add(effetto.get(EFF_CODCF));
|
||||
const TRectype& clifo = cache().get(LF_CLIFO, key);
|
||||
|
||||
if (real::is_null(abi) || real::is_null(cab))
|
||||
{
|
||||
TString8 abi = effetto.get(EFF_CODABI);
|
||||
TString8 cab = effetto.get(EFF_CODCAB);
|
||||
TString80 iban = effetto.get(EFF_IBAN);
|
||||
abi = clifo.get(CLI_CODABI);
|
||||
cab = clifo.get(CLI_CODCAB);
|
||||
}
|
||||
if (iban.blank())
|
||||
iban = clifo.get(CLI_IBAN);
|
||||
if (iban.starts_with("IT") && iban.len() > 15)
|
||||
{
|
||||
abi = iban.mid( 5, 5);
|
||||
cab = iban.mid(10, 5);
|
||||
}
|
||||
|
||||
TToken_string key(8);
|
||||
key = effetto.get(EFF_TIPOCF);
|
||||
key.add(effetto.get(EFF_CODCF));
|
||||
const TRectype& clifo = cache().get(LF_CLIFO, key);
|
||||
effetto.put(EFF_CODABI, abi);
|
||||
effetto.put(EFF_CODCAB, cab);
|
||||
effetto.put(EFF_IBAN, iban);
|
||||
|
||||
if (real::is_null(abi) || real::is_null(cab))
|
||||
{
|
||||
abi = clifo.get(CLI_CODABI);
|
||||
cab = clifo.get(CLI_CODCAB);
|
||||
}
|
||||
if (iban.blank())
|
||||
iban = clifo.get(CLI_IBAN);
|
||||
if (iban.starts_with("IT") && iban.len() > 15)
|
||||
{
|
||||
abi = iban.mid( 5, 5);
|
||||
cab = iban.mid(10, 5);
|
||||
}
|
||||
if ((tipocf == 'C' || tipopag != 9) && (real::is_null(abi) || real::is_null(cab)))
|
||||
{
|
||||
TString msg;
|
||||
msg.format(FR("Impossibile determinare ABI/CAB del %s sull'effetto %ld"),
|
||||
(const char*)key, effetto.get_long(EFF_NPROGTR));
|
||||
log.log(2, msg);
|
||||
return false;
|
||||
}
|
||||
|
||||
effetto.put(EFF_CODABI, abi);
|
||||
effetto.put(EFF_CODCAB, cab);
|
||||
effetto.put(EFF_IBAN, iban);
|
||||
|
||||
if (tipopag == 3 && (real::is_null(abi) || real::is_null(cab)))
|
||||
{
|
||||
TString msg;
|
||||
msg.format(FR("Impossibile determinare ABI/CAB del %s sull'effetto %ld"),
|
||||
(const char*)key, effetto.get_long(EFF_NPROGTR));
|
||||
log.log(2, msg);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (tipopag == 9 && iban.blank())
|
||||
{
|
||||
TString msg;
|
||||
msg.format(FR("Impossibile determinare IBAN del %s sull'effetto %ld"),
|
||||
(const char*)key, effetto.get_long(EFF_NPROGTR));
|
||||
log.log(2, msg);
|
||||
return false;
|
||||
}
|
||||
if ((tipocf == 'F' && tipopag == 9) && iban.blank())
|
||||
{
|
||||
TString msg;
|
||||
msg.format(FR("Impossibile determinare IBAN del %s sull'effetto %ld"),
|
||||
(const char*)key, effetto.get_long(EFF_NPROGTR));
|
||||
log.log(2, msg);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@ -717,26 +735,14 @@ void TPE_mask::save_rate()
|
||||
reff.put(REFF_NFATT, part.get(PART_NUMDOC));
|
||||
reff.put(REFF_DATAFATT, part.get(PART_DATADOC));
|
||||
reff.put(REFF_IMPFATT, part.get(PART_IMPORTO));
|
||||
|
||||
TString8 abi = scad.get(SCAD_CODABI);
|
||||
TString8 cab = scad.get(SCAD_CODCAB);
|
||||
|
||||
key.format("%c|%ld", tipocf, codcf);
|
||||
const TRectype& clifo = cache().get(LF_CLIFO, key);
|
||||
TString80 iban = clifo.get(CLI_IBAN);
|
||||
if (iban.starts_with("IT") || real::is_null(abi) || real::is_null(cab))
|
||||
{
|
||||
abi = clifo.get(CLI_CODABI);
|
||||
cab = clifo.get(CLI_CODCAB);
|
||||
}
|
||||
|
||||
|
||||
TEffetto& eff = distinta[rigadist-1];
|
||||
|
||||
eff.put(EFF_DSCVAL, row->get(sheet.cid2index(F_VALBEN)));
|
||||
eff.put(EFF_TIPOPAG, tipopag);
|
||||
eff.put(EFF_CODABI, abi);
|
||||
eff.put(EFF_CODCAB, cab);
|
||||
eff.put(EFF_IBAN, iban);
|
||||
eff.put(EFF_CODABI, row->get(sheet.cid2index(F_ABIAPP)));
|
||||
eff.put(EFF_CODCAB, row->get(sheet.cid2index(F_ABIAPP)));
|
||||
eff.put(EFF_IBAN, row->get(sheet.cid2index(F_IBANAPP)));
|
||||
}
|
||||
|
||||
TEffetto& eff = distinta[rigadist-1];
|
||||
|
@ -48,3 +48,6 @@
|
||||
#define F_DCUP 117
|
||||
#define F_CIG 118
|
||||
#define F_DCIG 119
|
||||
#define F_ABIAPP 120
|
||||
#define F_CABAPP 121
|
||||
#define F_IBANAPP 122
|
||||
|
@ -341,6 +341,9 @@ BEGIN
|
||||
ITEM "Descrizione CUP@50"
|
||||
ITEM "CIG@10"
|
||||
ITEM "Descrizione CIG@50"
|
||||
ITEM "ABI@5"
|
||||
ITEM "CAB@5"
|
||||
ITEM "IBAN@27"
|
||||
END
|
||||
|
||||
CURRENCY F_TOTAL 18
|
||||
@ -499,6 +502,40 @@ BEGIN
|
||||
COPY OUTPUT F_CIG
|
||||
END
|
||||
|
||||
STRING F_ABIAPP 5
|
||||
BEGIN
|
||||
PROMPT 1 10 "Banca di appoggio"
|
||||
USE LF_CFBAN KEY 2
|
||||
JOIN %BAN INTO CODTAB[1,5]==ABI CODTAB[6,10]==CAB
|
||||
INPUT TIPOCF -F_TIPOCF SE
|
||||
INPUT CODCF F_CODCF SE
|
||||
INPUT TIPOBAN "V"
|
||||
INPUT ABI F_ABIAPP
|
||||
INPUT CAB F_CABAPP
|
||||
DISPLAY "Cod. Istit." ABI
|
||||
DISPLAY "Cod. Fil." CAB
|
||||
DISPLAY "IBAN@27" IBAN
|
||||
DISPLAY "Denominazione@50" %BAN->S0
|
||||
OUTPUT F_ABIAPP ABI
|
||||
OUTPUT F_CABAPP CAB
|
||||
OUTPUT F_IBANAPP IBAN
|
||||
CHECTYPE NORMAL
|
||||
FLAGS "Z"
|
||||
ENDPAGE
|
||||
|
||||
STRING F_CABAPP 5
|
||||
BEGIN
|
||||
PROMPT 20 10 ""
|
||||
COPY ALL F_ABIAPP
|
||||
CHECTYPE NORMAL
|
||||
FLAGS "Z"
|
||||
END
|
||||
|
||||
STRING F_IBANAPP 27
|
||||
BEGIN
|
||||
PROMPT 30 10 "IBAN "
|
||||
FLAGS "D"
|
||||
END
|
||||
ENDPAGE
|
||||
|
||||
TOOLBAR "" 0 0 0 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user