Patch level : 10.0 700

Files correlati     : ef0.exe
Ricompilazione Demo : [ ]
Commento            :

Bug     0001574: Inserire campo per data valuta nelle disposizioni di bonifico fornitore

Nel programma Disposizioni di incasso e pagamento occorre inserire un nuovo campo per la data valuta delle disposizioni di bonifico


git-svn-id: svn://10.65.10.50/trunk@20317 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-04-08 14:16:40 +00:00
parent 61c76fa413
commit 052ccc248d

View File

@ -43,7 +43,7 @@ public:
void update_total();
virtual bool on_key(KEY key);
TRectype& new_row_effetto(TDistinta& dist, char tipocf, long codcf,
TRectype& new_row_effetto(TDistinta& dist, char tipocf, long codcf, const TDate & datapag,
int& rigadist, int& rigaeff) const;
long get_free_num() const;
void save_rate();
@ -263,10 +263,10 @@ HIDDEN long row_compare(TToken_string& r1, TToken_string& r2, const int sort_mod
if (cmp != 0)
return cmp; // else normal comparing
}
for (int i = 3; cmp == 0 && i <= 8; i++)
for (int i = 5; cmp == 0 && i <= 10; i++)
{
if (i == 4) continue;
if (i == 6)
if (i == 6) continue;
if (i == 8)
{
TString16 p1; r1.get(i, p1);
TString16 p2; r2.get(i, p2);
@ -494,7 +494,7 @@ bool TPE_mask::fill_distinta(bool clear_all)
return full;
}
TRectype& TPE_mask::new_row_effetto(TDistinta& dist, char tipocf, long codcf,
TRectype& TPE_mask::new_row_effetto(TDistinta& dist, char tipocf, long codcf, const TDate & datapag,
int& rigadist, int& rigaeff ) const
{
TString16 codice; codice << tipocf << '|' << codcf;
@ -506,7 +506,7 @@ TRectype& TPE_mask::new_row_effetto(TDistinta& dist, char tipocf, long codcf,
for (int i = 0; i < dist.items(); i++)
{
TEffetto& eff = dist[i];
if (eff.get_char(EFF_TIPOCF) == tipocf && eff.get_long(EFF_CODCF) == codcf)
if (eff.get_char(EFF_TIPOCF) == tipocf && eff.get_long(EFF_CODCF) == codcf && datapag == eff.get_date(EFF_DATASCAD))
{
neweff = &eff;
rigadist = i+1;
@ -643,34 +643,39 @@ void TPE_mask::save_rate()
int rigaeff = row->get_int(sheet.cid2index(F_RIGAEFF));
if (rigaeff > 0 || accsal == 'S' || imp > ZERO)
{
TToken_string key;
key.add(get(F_TIPOCF));
key.add("0|0");
key.add(row->get(sheet.cid2index(F_CODCF)));
key.add(row->get(sheet.cid2index(F_ANNO)));
key.add(row->get(sheet.cid2index(F_PARTITA)));
key.add(row->get(sheet.cid2index(F_RIGA)));
// Trova partita
const TRectype& part = cache().get(LF_PARTITE, key);
// Trova rata
key.add(row->get(sheet.cid2index(F_RATA)));
const TRectype& scad = cache().get(LF_SCADENZE, key);
// eff.put(EFF_DATASCAD, scad.get(SCAD_DATASCAD));
TDate datapag(row->get(sheet.cid2index(F_DATAPAG)));
if (!datapag.ok())
datapag = scad.get(SCAD_DATASCAD);
if (rigaeff <= 0)
{
const char tipocf = get(F_TIPOCF)[0];
const long codcf = row->get_long(sheet.cid2index(F_CODCF));
TRectype& reff = new_row_effetto(distinta, tipocf, codcf, rigadist, rigaeff);
TRectype& reff = new_row_effetto(distinta, tipocf, codcf, datapag, rigadist, rigaeff);
reff.put(REFF_ANNO, row->get(sheet.cid2index(F_ANNO)));
reff.put(REFF_NUMPART, row->get(sheet.cid2index(F_PARTITA)));
reff.put(REFF_NRIGA, row->get(sheet.cid2index(F_RIGA)));
reff.put(REFF_NRATA, row->get(sheet.cid2index(F_RATA)));
TToken_string key;
key.add(get(F_TIPOCF));
key.add("0|0");
key.add(row->get(sheet.cid2index(F_CODCF)));
key.add(row->get(sheet.cid2index(F_ANNO)));
key.add(row->get(sheet.cid2index(F_PARTITA)));
key.add(row->get(sheet.cid2index(F_RIGA)));
// Trova partita
const TRectype& part = cache().get(LF_PARTITE, key);
reff.put(REFF_NFATT, part.get(PART_NUMDOC));
reff.put(REFF_DATAFATT, part.get(PART_DATADOC));
reff.put(REFF_IMPFATT, part.get(PART_IMPORTO));
// Trova rata
key.add(row->get(sheet.cid2index(F_RATA)));
const TRectype& scad = cache().get(LF_SCADENZE, key);
TString8 abi = scad.get(SCAD_CODABI);
TString8 cab = scad.get(SCAD_CODCAB);
@ -685,11 +690,6 @@ void TPE_mask::save_rate()
TEffetto& eff = distinta[rigadist-1];
// eff.put(EFF_DATASCAD, scad.get(SCAD_DATASCAD));
TDate datapag(row->get(sheet.cid2index(F_DATAPAG)));
if (!datapag.ok())
datapag = scad.get(SCAD_DATASCAD);
eff.put(EFF_DATASCAD, datapag);
eff.put(EFF_DSCVAL, row->get(sheet.cid2index(F_VALBEN)));
eff.put(EFF_TIPOPAG, tipopag);