Corretti errori Gabri

git-svn-id: svn://10.65.10.50/trunk@2622 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-02-21 09:00:03 +00:00
parent 6a79d80176
commit f63419ff75
8 changed files with 123 additions and 103 deletions

View File

@ -16,7 +16,7 @@ END
LIST F_TIPOCF 1 12
BEGIN
PROMPT 2 1 "Tipo "
FIELD LF_CLIFO->TIPOCF
FIELD TIPOCF
FLAGS "PG"
KEY 1 2 4 5 6
HELP "Indicare se cliente oppure fornitore"
@ -29,7 +29,7 @@ END
NUMBER F_CODCF 6
BEGIN
PROMPT 2 2 "Codice "
FIELD LF_CLIFO->CODCF
FIELD CODCF
FLAGS "GR"
KEY 1
USE LF_CLIFO KEY 1
@ -56,7 +56,7 @@ END
STRING F_RAGSOC 30
BEGIN
PROMPT 23 1 "Cognome / Rag. Soc."
FIELD LF_CLIFO->RAGSOC[1,30]
FIELD RAGSOC[1,30]
KEY 2
USE LF_CLIFO KEY 2
INPUT TIPOCF F_TIPOCF SELECT
@ -77,7 +77,7 @@ END
STRING F_RAGSOCA 20
BEGIN
PROMPT 23 2 "Nome / Seconda parte Rag. Soc. "
FIELD LF_CLIFO->RAGSOC[31,]
FIELD RAGSOC[31,]
KEY 2
HELP "Seconda parte della ragione sociale o nome"
MESSAGE COPY,6@
@ -86,7 +86,7 @@ END
STRING F_RICALT 30 20
BEGIN
PROMPT 2 4 "Ricerca Alt. "
FIELD LF_CLIFO->RICALT
FIELD RICALT
KEY 6
USE LF_CLIFO KEY 6
INPUT TIPOCF F_TIPOCF SELECT
@ -101,7 +101,7 @@ END
LIST F_STATOPAIV 2 21
BEGIN
PROMPT 42 4 "Stato CEE "
FIELD LF_CLIFO->STATOPAIV
FIELD STATOPAIV
KEY 5
HELP "Codice ISO dello stato"
ITEM " |Italia o extra CEE"
@ -122,7 +122,7 @@ END
STRING F_COFI 16
BEGIN
PROMPT 2 5 "Codice fiscale "
FIELD LF_CLIFO->COFI
FIELD COFI
FLAGS "U"
KEY 4
USE LF_CLIFO KEY 4
@ -141,7 +141,7 @@ END
STRING F_PAIV 12
BEGIN
PROMPT 42 5 "Partita IVA "
FIELD LF_CLIFO->PAIV
FIELD PAIV
KEY 5
USE LF_CLIFO KEY 5
INPUT TIPOCF F_TIPOCF SELECT
@ -165,21 +165,21 @@ END
STRING F_INDCF 35
BEGIN
PROMPT 2 7 "Indirizzo "
FIELD LF_CLIFO->INDCF
FIELD INDCF
HELP "Indirizzo del recapito"
END
STRING F_CIVCF 10
BEGIN
PROMPT 60 7 "N. "
FIELD LF_CLIFO->CIVCF
FIELD CIVCF
HELP "Numero civico del recapito"
END
NUMBER F_STATOCF 3
BEGIN
PROMPT 2 8 "Comune: Stato "
FIELD LF_CLIFO->STATOCF
FIELD STATOCF
FLAGS "Z"
USE %STA
INPUT CODTAB F_STATOCF
@ -205,7 +205,7 @@ END
STRING F_COMCF 4
BEGIN
PROMPT 8 9 ":Codice "
FIELD LF_CLIFO->COMCF
FIELD COMCF
FLAGS "U"
USE LF_COMUNI
INPUT STATO F_STATOCF SELECT
@ -240,14 +240,14 @@ END
STRING F_LOCALITACF 35
BEGIN
PROMPT 2 10 "Localita' "
FIELD LF_CLIFO->LOCALITACF
FIELD LOCALITACF
HELP "Localita' del recapito"
END
STRING F_CAPCF 5
BEGIN
PROMPT 53 10 "CAP "
FIELD LF_CLIFO->CAPCF
FIELD CAPCF
HELP "Codice di avviamento postale del recapito"
END
@ -260,7 +260,7 @@ END
LIST F_TIPOPERS 1 12
BEGIN
PROMPT 2 12 "Tipo persona "
FIELD LF_CLIFO->TIPOPERS
FIELD TIPOPERS
HELP "Tipo anagrafico del clinete/fornitore"
ITEM "F|Fisica"
MESSAGE COPY,F_TIPOAPER
@ -271,7 +271,7 @@ END
STRING F_CODSTAT 7
BEGIN
PROMPT 46 12 "Codice statistico "
FIELD LF_CLIFO->CODSTAT
FIELD CODSTAT
USE %STT
INPUT CODTAB F_CODSTAT
DISPLAY "Codice statistico" CODTAB
@ -284,7 +284,7 @@ END
NUMBER F_ALLEG 1
BEGIN
PROMPT 2 13 "Inserimento in allegato "
FIELD LF_CLIFO->ALLEG
FIELD ALLEG
SHEET "Codice|Descrizione@50"
HELP "Codice per l'inserimento negli allegati IVA"
INPUT F_ALLEG
@ -300,7 +300,7 @@ END
NUMBER F_CODALLEG 6
BEGIN
PROMPT 32 13 "Codice allegato "
FIELD LF_CLIFO->CODALLEG
FIELD CODALLEG
FLAGS "R"
COPY USE F_CODCF
INPUT TIPOCF F_TIPOCF SELECT
@ -322,7 +322,7 @@ END
BOOLEAN F_OCCASIONALE
BEGIN
PROMPT 2 16 "Occasionale "
FIELD LF_CLIFO->OCCAS
FIELD OCCAS
HELP "Indicare se si tratta di un C/F occasionale"
MESSAGE TRUE "2",F_ALLEG
END
@ -330,7 +330,7 @@ END
BOOLEAN F_SOSPESO
BEGIN
PROMPT 32 16 "Sospeso "
FIELD LF_CLIFO->SOSPESO
FIELD SOSPESO
HELP "Indicare se il C/F e' movimentato ma non piu' utilizzabile"
END
@ -381,70 +381,70 @@ END
STRING F_PTEL 10
BEGIN
PROMPT 2 5 "Telefono "
FIELD LF_CLIFO->PTEL
FIELD PTEL
HELP "Prefisso telefonico primo recapito"
END
STRING F_TEL 30
BEGIN
PROMPT 43 5 ""
FIELD LF_CLIFO->TEL
FIELD TEL
HELP "Numero telefonico primo recapito"
END
STRING F_PTEL2 10
BEGIN
PROMPT 16 6 ""
FIELD LF_CLIFO->PTEL2
FIELD PTEL2
HELP "Prefisso telefonico secondo recapito"
END
STRING F_TEL2 30
BEGIN
PROMPT 43 6 ""
FIELD LF_CLIFO->TEL2
FIELD TEL2
HELP "Numero telefonico secondo recapito"
END
STRING F_PTEL3 10
BEGIN
PROMPT 16 7 ""
FIELD LF_CLIFO->PTEL3
FIELD PTEL3
HELP "Prefisso telefonico terzo recapito"
END
STRING F_TEL3 30
BEGIN
PROMPT 43 7 ""
FIELD LF_CLIFO->TEL3
FIELD TEL3
HELP "Numero telefonico terzo recapito"
END
STRING F_PFAX 10
BEGIN
PROMPT 2 8 "Fax "
FIELD LF_CLIFO->PFAX
FIELD PFAX
HELP "Prefisso del numero di fax"
END
STRING F_FAX 30
BEGIN
PROMPT 43 8 ""
FIELD LF_CLIFO->FAX
FIELD FAX
HELP "Numero telefonico del fax"
END
STRING F_PTELEX 10
BEGIN
PROMPT 2 9 "Telex "
FIELD LF_CLIFO->PTELEX
FIELD PTELEX
HELP "Prefisso del numero di telex"
END
STRING F_TELEX 30
BEGIN
PROMPT 43 9 ""
FIELD LF_CLIFO->TELEX
FIELD TELEX
HELP "Numero telefonico del telex"
END
@ -456,7 +456,7 @@ END
LIST F_TIPOAPER 1 15
BEGIN
PROMPT 2 12 "Tipo "
FIELD LF_CLIFO->TIPOAPER
FIELD TIPOAPER
FLAGS "D"
ITEM "F|Fisica"
ITEM "G|Giuridica"
@ -465,7 +465,7 @@ END
NUMBER F_CODANAGPER 5
BEGIN
PROMPT 61 12 "Codice "
FIELD LF_CLIFO->CODANAGPER
FIELD CODANAGPER
FLAGS "R"
GROUP 4
USE LF_ANAG
@ -505,7 +505,7 @@ END
DATE F_DATANASC
BEGIN
PROMPT 2 16 "Data "
FIELD LF_CLIFO->DATANASC
FIELD DATANASC
GROUP 5
HELP "Data di nascita del cliente/fornitore"
END
@ -513,7 +513,7 @@ END
NUMBER F_STATONASC 3
BEGIN
PROMPT 38 16 "Stato "
FIELD LF_CLIFO->STATONASC
FIELD STATONASC
FLAGS "Z"
GROUP 5
COPY USE F_STATOCF
@ -528,7 +528,7 @@ END
STRING F_COMNASC 4
BEGIN
PROMPT 60 16 "Comune "
FIELD LF_CLIFO->COMNASC
FIELD COMNASC
FLAGS "U"
GROUP 5
COPY USE F_COMCF
@ -598,7 +598,7 @@ END
NUMBER F_CODABI 5
BEGIN
PROMPT 2 4 "Codice ABI "
FIELD LF_CLIFO->CODABI
FIELD CODABI
FLAGS "Z"
USE %BAN
INPUT CODTAB F_CODABI
@ -615,7 +615,7 @@ END
NUMBER F_CODBAN 5
BEGIN
PROMPT 56 4 "Codice CAB "
FIELD LF_CLIFO->CODCAB
FIELD CODCAB
FLAGS "Z"
COPY USE F_CODABI
INPUT CODTAB[1,5] F_CODABI
@ -646,7 +646,7 @@ FLAGS "UZ"
PROMPT 2 6 "Valuta "
FLAGS "UZ"
>>>>>>> 1.23
FIELD LF_CLIFO->CODVAL
FIELD CODVAL
USE %VAL
INPUT CODTAB F_CODVAL
DISPLAY "Codice valuta" CODTAB
@ -670,7 +670,7 @@ END
STRING F_CODLIN 1
BEGIN
PROMPT 2 7 "Lingua "
FIELD LF_CLIFO->CODLIN
FIELD CODLIN
USE %LNG
FLAGS "U"
INPUT CODTAB F_CODLIN
@ -696,7 +696,7 @@ END
STRING F_CODPAG 4
BEGIN
PROMPT 2 8 "Pagamento "
FIELD LF_CLIFO->CODPAG
FIELD CODPAG
FLAGS "U#"
USE %CPG
INPUT CODTAB F_CODPAG
@ -722,7 +722,7 @@ END
NUMBER F_FIDO 15
BEGIN
PROMPT 2 9 "Fido "
FIELD LF_CLIFO->FIDO
FIELD FIDO
FLAGS "R"
PICTURE "."
HELP "Importo massimo fido del cliente/fornitore"
@ -736,7 +736,7 @@ END
NUMBER F_GRUPPO 3
BEGIN
PROMPT 2 11 "Gruppo "
FIELD LF_CLIFO->GRUPPO
FIELD GRUPPO
FLAGS "R"
HELP "Codice del gruppo"
END
@ -744,7 +744,7 @@ END
NUMBER F_CONTO 3
BEGIN
PROMPT 27 11 "Conto "
FIELD LF_CLIFO->CONTO
FIELD CONTO
FLAGS "R"
USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
INPUT GRUPPO F_GRUPPO
@ -788,7 +788,7 @@ USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
NUMBER F_GRUPPORIC 3
BEGIN
PROMPT 2 15 "Gruppo "
FIELD LF_CLIFO->GRUPPORIC
FIELD GRUPPORIC
FLAGS "R"
HELP "Gruppo di contropartita"
END
@ -796,7 +796,7 @@ USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
NUMBER F_CONTORIC 3
BEGIN
PROMPT 27 15 "Conto "
FIELD LF_CLIFO->CONTORIC
FIELD CONTORIC
FLAGS "R"
HELP "Conto di contropartita"
END
@ -804,7 +804,7 @@ USE LF_PCON SELECT (CONTO!="")&&(SOTTOCONTO="")&&(TMCF=#F_TIPOCF)
NUMBER F_SOTTOCRIC 6
BEGIN
PROMPT 47 15 "Sottoconto "
FIELD LF_CLIFO->SOTTOCRIC
FIELD SOTTOCRIC
FLAGS "R"
USE LF_PCON SELECT SOTTOCONTO!=""
INPUT GRUPPO F_GRUPPORIC

View File

@ -799,6 +799,7 @@ int TPrimanota_application::crea_somma_spese(TImporto& imp)
bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
{
static TImporto old_spesa;
static bool delete_l = FALSE;
CHECKD(r >= 0, "Chi e' quel ca$$one che notifica la riga ", r);
@ -806,6 +807,13 @@ bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
if (k == K_CTRL + K_DEL)
{
if (delete_l)
{
const int l = type2pos('L');
CHECK(l >= 0, "Impossibile cancellare riga di tipo L");
cg.destroy(l);
delete_l = FALSE;
}
a.calcola_saldo(); // Ricalcola saldo dopo cancellazione
return TRUE; // Ritorna subito, altrimenti crea riga vuota
}
@ -846,7 +854,7 @@ bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
if (s < 0)
a.crea_somma_spese(growth);
else
a.sub_cgs_imp(s, growth);
delete_l = a.sub_cgs_imp(s, growth);
}
}
else
@ -854,8 +862,8 @@ bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
if (a.iva() == nessuna_iva && !a.is_saldaconto())
a.generazione_righe_cg(r);
}
if (k == K_ENTER)
a.calcola_saldo();
if (k == K_ENTER)
a.calcola_saldo(); // Altrimenti ci pensa CTRL-DEL
break;
case K_CTRL+K_INS: // Post inserimento
if (a.is_pagamento())
@ -863,7 +871,7 @@ bool TPrimanota_application::cg_notify(TSheet_field& cg, int r, KEY k)
const char tipo = cg.mask().get(SK_TIPORIGA)[0];
if (tipo == 'K' || tipo == 'G')
{
const int k = tipo == 'K' ? 1 : 10;
const int k = tipo == 'K' ? 1 : RIGA_SPESE;
TBill conto; a.causale().bill(k, conto);
const TString80 desc(a.causale().desc_agg(k));
const char sez = a.causale().sezione(k);

View File

@ -972,7 +972,7 @@ void TPrimanota_application::write_scadenze(const TMask& m)
}
if (newgame != NULL) // Se non ho cancellato il numero partita ...
{
{
newgame->write(); // Salva nuova partita
delete newgame;
}

View File

@ -828,7 +828,7 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
row.add(descr, 4);
const bool blocked = scad.get_bool(SCAD_BLOCCATA);
row.add(blocked ? "X" : " " , 13);
row.add(blocked ? "X" : " ", 13);
const int lastp = scad.last();
for (int pa = scad.first(); pa <= lastp; pa = scad.succ(pa))
@ -971,6 +971,7 @@ bool TGame_mask::partite_notify(TSheet_field& partite, int r, KEY k)
{
TToken_string& row = scadenze.row(scadenze.add(""));
row.add("Ritenute professionali", 4);
gm.add_importo(row, rit, FALSE);
tot_lit += rit;
}
}
@ -1293,8 +1294,9 @@ bool TGame_mask::edit_scadenza_handler(TMask_field& f, KEY k)
{
TSheet_field& ss = gm.scadenze();
const int rs = ss.selected(); // Memorizza la riga corrente
gm.fill_partite();
ss.select(rs); // Riporta la selezione sulla riga corrente
gm.fill_partite(); // Aggiorna elenco partite
if (rs < ss.items()) // Se esiste ancora ...
ss.select(rs); // ... riporta la selezione sulla riga corrente
gm._changed = TRUE;
}
}
@ -1569,11 +1571,8 @@ void TGame_mask::fill_partite()
const TBill& k = gioco->conto();
bool u = (k.tipo() > ' ' && k.sottoconto() == conto().sottoconto()) || k == conto();
#ifdef DBG
if (u && !all && gioco->chiusa() && gioco->mov2rig(_numreg, _numrig) <= 0)
u = error_box("Tentativo di visualizzare partita %d %s!",
gioco->anno(), (const char*)gioco->numero());
#endif
if (u && !all && gioco->chiusa() && gioco->mov2rig(_numreg, _numrig) <= 0)
u = FALSE;
if (u)
update_partita(*gioco, -1);
@ -1685,7 +1684,6 @@ bool TGame_mask::edit_pagamento(TPartita& p, int nriga, int nrata, int nrigp) co
const TValuta val(somma);
#ifdef __EXTRA__
// val.get(m, E_VALUTA, E_DATACAMBIO, E_CAMBIO);
p.modifica_pagamento(newpag, val, TRUE);
#else
if (somma.is_nota_credito())

View File

@ -51,6 +51,7 @@ END
STRING 106 1
BEGIN
PROMPT 24 5 "Ulteriore classific. "
FLAGS "U"
USE %CLR
INPUT CODTAB[1,1] 105 SELECT
INPUT CODTAB[2,2] 106

View File

@ -804,7 +804,7 @@ const char* TPagamento::desc_tipo(int tipo, char ulc, bool* ok) const
if (ok != NULL) *ok = TRUE;
if (ulc > ' ')
{
const char key[] = { tipo+'0', ulc, '\0' };
const char key[] = { tipo+'0', toupper(ulc), '\0' };
TTable clr("%CLR");
clr.put("CODTAB", key);

View File

@ -533,16 +533,16 @@ bool TRiga_scadenze::modifica_pagamento(const TRectype& new_pag, const TValuta&
sum.update(old_pag, new_pag, PART_IMPORTOVAL);
sum.update(old_pag, new_pag, PART_RITENUTE);
// Aggiorna flags di chiusura
chiusa(TRUE);
partita().chiusa(TRUE);
const bool empty = new_pag.get_char(PAGSCA_ACCSAL) != 'S' &&
new_pag.get_real(PAGSCA_IMPORTO).is_zero() &&
new_pag.get_real(PAGSCA_RITENUTE).is_zero();
if (empty)
rows_array().destroy_row(nrigp);
// Aggiorna flags di chiusura
chiusa(TRUE);
partita().chiusa(TRUE);
return empty;
}
@ -747,14 +747,14 @@ int TRiga_partite::ultima_rata_con_abbuoni_diffcam() const
bool TRiga_partite::in_valuta() const
{
const TString& cod = get(PART_CODVAL);
return cod.not_empty() && cod != "LIT";
return cod.not_empty();
}
// Calcola l'importo in lire o in valuta su di una riga di partita
// E' possibile considerare o meno IMPORTO, ABBUONI e DIFFCAM
TImporto TRiga_partite::importo(bool valuta, int mode) const
{
CHECKD(mode > 0 && mode < 16, "Bad importo mode ", mode);
CHECKD(mode > 0x0 && mode <= 0xF, "Bad importo mode ", mode);
const bool in_lire = !in_valuta();
if (valuta && in_lire)
valuta = FALSE;
@ -766,13 +766,13 @@ TImporto TRiga_partite::importo(bool valuta, int mode) const
i.set(sezione(), get_real(field));
}
if (!is_fattura() && (mode & 0x6)) // Esistono abbuoni o differenze cambio?
if (!is_fattura() && (mode & 0xE)) // Ci sono abbuoni, differenze cambio o ritenute?
{
if (valuta) // Desidero gli abbuoni in valuta
{
if (mode & 0x2)
{
TImporto abbuoni(get_char(PART_SEZABB), get_real(PART_ABBUONI));
const TImporto abbuoni(get_char(PART_SEZABB), get_real(PART_ABBUONI));
i += abbuoni;
}
// In valuta ignoro completamente le differenze cambio
@ -1017,27 +1017,34 @@ int TPartita::write_saldo(bool re, TRectype* rec) const
TLocalisamfile part(LF_PARTITE);
TRectype& sld = part.curr();
sld = _part.key();
sld.put(PART_NRIGA, (int)UNASSIGNED);
sld.put(PART_SEZ, saldo.sezione());
sld.put(PART_IMPORTO, saldo.valore());
sld.put(PART_SEZABB, doc.sezione());
sld.put(PART_ABBUONI, doc.valore());
sld.put(PART_SEZDIFCAM, pag.sezione());
sld.put(PART_DIFFCAM, pag.valore());
sld.put(PART_REG, imp.sezione());
sld.put(PART_IMPOSTA, imp.valore());
sld = _part.key(); // Copia conto, anno e numero partita
sld.put(PART_NRIGA, (int)UNASSIGNED); // Assegna magic line number
sld.put(PART_SEZ, saldo.sezione()); // Sezione saldo
sld.put(PART_IMPORTO, saldo.valore()); // Saldo
sld.put(PART_SEZABB, doc.sezione()); // Sezione documenti
sld.put(PART_ABBUONI, doc.valore()); // Documenti
sld.put(PART_SEZDIFCAM, pag.sezione()); // Sezione pagamenti
sld.put(PART_DIFFCAM, pag.valore()); // Pagamenti
sld.put(PART_REG, imp.sezione()); // Sezione altri importi
sld.put(PART_IMPOSTA, imp.valore()); // Altri importi
int r = prima_fattura();
if (r <=0 ) r = first();
int r = prima_fattura(); // Cerca la prima fattura ...
if (r <= 0) r = first(); // ... o la prima riga valida
const TRiga_partite& row = riga(r);
sld.put(PART_NUMDOC, row.get(PART_NUMDOC));
sld.put(PART_NUMDOC, row.get(PART_NUMDOC)); // Copia estremi documento
sld.put(PART_DATADOC, row.get(PART_DATADOC));
sld.put(PART_DESCR, row.get(PART_DESCR));
const TValuta valuta(row); // Copia la valuta
valuta.put(sld);
sld.put(PART_CHIUSA, row.get(PART_CHIUSA)); // Copia il flag di chiusura
if (rec != NULL)
*rec = sld;
// Scrittura del record di saldo
int err = re ? part.rewrite() : part.write();
if (err != NOERR)
err = re ? part.write() : part.rewrite();
@ -1081,20 +1088,25 @@ int TPartita::read_saldo(TRectype& riga,
return err;
}
bool TPartita::write(bool re) const
{
if (ok())
{
for (int r = last(); r > 0; r = pred(r))
{
TRiga_partite& row = riga(r);
if (row.get(PART_GRUPPOCL).empty())
{
((TPartita*)this)->chiusa(TRUE); // Aggiorna flag di chiusura (non si sa mai)
if (conto().tipo() > ' ')
{
// Aggiunge conti cliente/fornitore mancanti
for (int r = last(); r > 0; r = pred(r))
{
row.put(PART_GRUPPOCL, conto().gruppo());
row.put(PART_CONTOCL, conto().conto());
}
}
TRiga_partite& row = riga(r);
if (row.get(PART_GRUPPOCL).empty())
{
row.put(PART_GRUPPOCL, conto().gruppo());
row.put(PART_CONTOCL, conto().conto());
}
}
}
const char cur_align = allineamento_corrente();
const char req_align = allineamento_richiesto(conto().tipo());
@ -1486,27 +1498,28 @@ bool TPartita::modifica_pagamento(const TRectype& new_pag, const TValuta& valuta
}
bool TPartita::chiusa(bool update)
bool TPartita::chiusa(bool update) const
{
bool chiusa = FALSE;
bool chiusa = TRUE;
const int ultima = last();
if (ultima > 0)
{
const TRiga_partite& row = riga(ultima);
chiusa = row.get_bool(PART_CHIUSA);
}
if (update)
{
const TImporto saldo = calcola_saldo(TRUE); // Saldo in valuta
chiusa = saldo.is_zero();
for (int p = last(); p > 0; p = pred(p))
for (int p = ultima; p > 0; p = pred(p))
{
TRiga_partite& part = riga(p);
part.put(PART_CHIUSA, chiusa);
}
}
else
{
if (ultima > 0)
{
const TRiga_partite& row = riga(ultima);
chiusa = row.get_bool(PART_CHIUSA);
}
}
return chiusa;
}

View File

@ -284,7 +284,7 @@ public:
bool utilizzata(int r) const; // Controlla se esistono pagamenti sommati alla riga r
TRecord_array& unassigned() { return _unassigned; }
bool chiusa(bool update = FALSE);
bool chiusa(bool update = FALSE) const;
const TBill& conto() const { return _conto; }
int anno() const { return _anno; }