Corretto raddoppio dei non-assegnati sullo sheet

git-svn-id: svn://10.65.10.50/trunk@2136 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-11-13 12:07:05 +00:00
parent 9e482a0ea7
commit fb0eaada3a

View File

@ -555,40 +555,42 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
} }
} }
} }
}
TRecord_array& unas = game->unassigned();
const int lastp = unas.last_row(); TRecord_array& unas = game->unassigned();
for (int pa = unas.first_row(); pa <= lastp; pa = unas.succ_row(pa)) const int lastp = unas.last_row();
{ for (int pa = unas.first_row(); pa <= lastp; pa = unas.succ_row(pa))
const TRectype& pag = unas.row(pa); {
const TRiga_partite& sum = game->riga(pa); const TRectype& pag = unas.row(pa);
TImporto imp(sum.sezione(), ZERO); const TRiga_partite& sum = game->riga(pa);
TImporto imp(sum.sezione(), ZERO);
TToken_string& row = scadenze.row(scadenze.add("")); TToken_string& row = scadenze.row(scadenze.add(""));
row.add(pag.get(PAGSCA_NRIGA)); row.add(pag.get(PAGSCA_NRIGA));
row.add(pag.get(PAGSCA_NRATA)); row.add(pag.get(PAGSCA_NRATA));
row.add(""); row.add("");
row.add(sum.get(PART_DATADOC)); row.add(sum.get(PART_DATADOC));
row.add(sum.get(PART_DESCR)); row.add(sum.get(PART_DESCR));
TImporto i(sum.sezione(), pag.get_real(PAGSCA_IMPORTO)); TImporto i(sum.sezione(), pag.get_real(PAGSCA_IMPORTO));
i.normalize();
add_importo(row, i);
tot_lit += i;
const real& impval = pag.get_real(PAGSCA_IMPORTOVAL);
if (!impval.is_zero())
{
i = TImporto(sum.sezione(), impval);
i.normalize(); i.normalize();
tot_lit += i; add_importo(row, i, TRUE);
add_importo(row, i); tot_val += i;
if (in_valuta) }
{ else
i = TImporto(sum.sezione(), pag.get_real(PAGSCA_IMPORTOVAL)); row.add("");
tot_val += i; row.add(sum.get(PART_NREG));
i.normalize(); row.add(sum.get(PART_DATAREG));
add_importo(row, i, TRUE); row.add(sum.get(PART_NUMDOC));
} row.add("");
else row.add(pa);
row.add("");
row.add(sum.get(PART_NREG));
row.add(sum.get(PART_DATAREG));
row.add(sum.get(PART_NUMDOC));
row.add("");
row.add(pa);
}
} }
if (lastrow > 0) if (lastrow > 0)
@ -1050,20 +1052,13 @@ void TGame_mask::fill_partite(int annorif, const char* numrif)
{ {
const bool all = get(P_SHOWALL).not_empty(); const bool all = get(P_SHOWALL).not_empty();
int first_game = -1;
TString_array& a = partite().rows_array(); TString_array& a = partite().rows_array();
a.destroy(); a.destroy();
app().begin_wait(); app().begin_wait();
for (TPartita* gioco = app().partite().first(); gioco != NULL; gioco = app().partite().next()) for (TPartita* gioco = app().partite().first(); gioco != NULL; gioco = app().partite().next())
{ update_partita(*gioco, -1); // Memorizza posizione di inserimento
const int added = update_partita(*gioco, -1); // Memorizza posizione di inserimento
if (first_game < 0 && gioco->anno() == annorif &&
same_number(gioco->numero(), numrif))
first_game = added;
}
TLocalisamfile partita(LF_PARTITE); TLocalisamfile partita(LF_PARTITE);
partita.zero(); partita.zero();
@ -1087,31 +1082,31 @@ void TGame_mask::fill_partite(int annorif, const char* numrif)
if (!app().partite().exist(conto(), anno, num)) if (!app().partite().exist(conto(), anno, num))
{ {
TPartita game(conto(), anno, num); TPartita game(conto(), anno, num);
if (all || !game.chiusa())
int added = -1; update_partita(game, -1);
if (all || !game.chiusa())
added = update_partita(game, -1);
if (first_game < 0 && added >= 0 &&
anno == annorif && same_number(num, numrif))
first_game = added;
} }
partita.put(PART_NRIGA, 9999); // Forza lettura partita successiva nella prossima read partita.put(PART_NRIGA, 9999); // Forza lettura partita successiva nella prossima read
} }
a.sort();
for (int r = a.items()-1; r > 0; r--)
{
TToken_string& row = a.row(r);
if (annorif == row.get_int(0) && same_number(numrif, row.get(1)))
break;
}
update_saldo_clifo(); update_saldo_clifo();
partite().force_update(); partite().force_update();
aggiorna_residuo(); aggiorna_residuo();
if (a.items() > 0) if (a.items() > 1)
{ {
if (first_game < 0) first_game = 0; partite_notify(partite(), 0, K_TAB);
partite_notify(partite(), first_game, K_TAB);
} }
else else
{ {
scadenze().destroy(); scadenze().destroy();
// scadenze().force_update();
} }
app().end_wait(); app().end_wait();
} }