Correttz gestione TPartite_array e iniziata gestione valuta

git-svn-id: svn://10.65.10.50/trunk@2178 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-11-20 15:25:19 +00:00
parent 9b18396069
commit e5bd999951
7 changed files with 89 additions and 29 deletions

View File

@ -895,7 +895,7 @@ int TPrimanota_application::write(const TMask& m)
{
const long old_nreg = numreg - (lasterr == _isreinsert ? 1 : 0);
partite().update_reg(_rel->lfile().curr(), old_nreg);
partite().rewrite();
partite().write();
}
link_m770();

View File

@ -405,8 +405,8 @@ BEGIN
OUTPUT S_VALUTA CODTAB
CHECKTYPE NORMAL
WARNING "Codice valuta assente"
MESSAGE EMPTY CLEAR,S_CAMBIO|CLEAR,S_TOTDOCVAL
MESSAGE ENABLE,S_CAMBIO|ENABLE,S_TOTDOCVAL
MESSAGE EMPTY CLEAR,S_CAMBIO|CLEAR,S_TOTDOCVAL|RESET,FS_VALUTA
MESSAGE ENABLE,S_CAMBIO|ENABLE,S_TOTDOCVAL|COPY,FS_VALUTA
END
DATE S_DATACAMBIO
@ -415,7 +415,7 @@ BEGIN
FIELD DATACAM
FLAGS "R"
USE CAM
INPUT CODTAB[1,3] S_VALUTA
INPUT CODTAB[1,3] S_VALUTA SELECT
INPUT CODTAB[4,11] S_DATACAMBIO
DISPLAY "Valuta" CODTAB[1,3]
DISPLAY "Data@10" D0
@ -425,6 +425,7 @@ BEGIN
OUTPUT S_CAMBIO R10
GROUP 3
CHECKTYPE NORMAL
MESSAGE COPY,FS_DATACAMBIO
END
NUMBER S_CAMBIO 15 5
@ -435,6 +436,7 @@ BEGIN
GROUP 3
PICTURE ".5"
CHECKTYPE REQUIRED
MESSAGE COPY,FS_CAMBIO
END
NUMBER F_TOTALE 15

View File

@ -1050,8 +1050,8 @@ void TGame_mask::update_saldo_clifo()
bool TGame_mask::same_number(const char* s1, const char* s2) const
{
TString t1(s1); t1.trim();
TString t2(s2); t2.trim();
TString16 t1(s1); t1.upper(); t1.trim();
TString16 t2(s2); t2.upper(); t2.trim();
return t1 == t2;
}
@ -1065,7 +1065,11 @@ void TGame_mask::fill_partite(int annorif, const char* numrif)
app().begin_wait();
for (TPartita* gioco = app().partite().first(); gioco != NULL; gioco = app().partite().next())
update_partita(*gioco, -1);
{
const TBill& zio = gioco->conto();
if (zio.tipo() <= ' ' || zio.sottoconto() == conto().sottoconto())
update_partita(*gioco, -1);
}
TLocalisamfile partita(LF_PARTITE);
partita.zero();

View File

@ -1,5 +1,5 @@
#define FS_RATESHEET 501
#define FS_TOTAL 502
// #define FS_TOTAL 502
#define FS_RDIFFER 503
#define FS_IMPONIBILI 504
#define FS_IMPOSTE 505
@ -19,3 +19,7 @@
#define FS_AGENTE 519
#define FS_DESCAGENTE 520
#define FS_VALUTA 521
#define FS_DATACAMBIO 522
#define FS_CAMBIO 523
#define FS_TOTVAL 524

View File

@ -9,19 +9,29 @@ NUMBER FS_IMPONIBILI 15
BEGIN
PROMPT 1 1 "Imponibili "
PICTURE "."
FLAGS "DR"
FLAGS "D"
CHECKTYPE REQUIRED
END
NUMBER FS_IMPOSTE 15
BEGIN
PROMPT 29 1 "Imposte "
PROMPT 31 1 "Imposte "
PICTURE "."
FLAGS "DR"
FLAGS "D"
END
NUMBER FS_TOTVAL 15 2
BEGIN
PROMPT 31 1 "In valuta "
PICTURE ".2"
FLAGS "HU"
VALIDATE REQIF_FUNC 1 FS_VALUTA
WARNING "E' stata specificata una valuta ma non il relativo totale documento"
END
NUMBER FS_SPESE 15
BEGIN
PROMPT 54 1 "Spese "
PROMPT 58 1 "Spese "
PICTURE "."
FLAGS "DR"
END
@ -35,18 +45,18 @@ BEGIN
ITEM "3|Uguali dall'ultima modificata" MESSAGE DISABLE,FS_NRATE
ITEM "4|Uguali finche' possibile" MESSAGE DISABLE,FS_NRATE
END
BOOLEAN FS_RECALC
BEGIN
PROMPT 58 5 "Ricalcolo automatico"
MESSAGE TRUE ENABLE,FS_RDIFFER|ENABLE,FS_MCOMM|K_SPACE,FS_RDIFFER
MESSAGE FALSE DISABLE,FS_RDIFFER|DISABLE,FS_MCOMM|DISABLE,FS_NRATE
END
BOOLEAN FS_MCOMM
BEGIN
PROMPT 36 5 "Mese commerciale"
END
BOOLEAN FS_RECALC
BEGIN
PROMPT 57 5 "Ricalcolo automatico"
MESSAGE TRUE ENABLE,FS_RDIFFER|ENABLE,FS_MCOMM|K_SPACE,FS_RDIFFER
MESSAGE FALSE DISABLE,FS_RDIFFER|DISABLE,FS_MCOMM|DISABLE,FS_NRATE
END
NUMBER FS_NRATE 3
BEGIN
@ -54,6 +64,45 @@ BEGIN
CHECKTYPE REQUIRED
END
STRING FS_VALUTA 3
BEGIN
PROMPT 67 6 "Valuta "
FLAGS "DUZ"
USE %VAL
INPUT CODTAB FS_VALUTA
DISPLAY "Codice" CODTAB
DISPLAY "Nome@50" S0
OUTPUT FS_VALUTA CODTAB
CHECKTYPE NORMAL
WARNING "Codice valuta assente"
MESSAGE EMPTY RESET,FS_CAMBIO
END
DATE FS_DATACAMBIO
BEGIN
PROMPT 36 7 "Cambio "
FLAGS "DR"
USE CAM
INPUT CODTAB[1,3] FS_VALUTA SELECT
INPUT CODTAB[4,11] FS_DATACAMBIO
DISPLAY "Valuta" CODTAB[1,3]
DISPLAY "Data@10" D0
DISPLAY "Cambio@18" R10
// OUTPUT FS_VALUTA CODTAB[1,3]
OUTPUT FS_DATACAMBIO D0
OUTPUT FS_CAMBIO R10
CHECKTYPE NORMAL
END
NUMBER FS_CAMBIO 15 5
BEGIN
PROMPT 62 7 ""
FLAGS "DU"
PICTURE ".5"
VALIDATE REQIF_FUNC 1 FS_VALUTA
WARNING "E' stata specificata una valuta ma non il cambio relativo"
END
STRING FS_NAMEPAG 27
BEGIN
PROMPT 36 3 "Pagamento "

View File

@ -861,11 +861,12 @@ bool TPartita::write(bool re) const
}
// Cancella tutta una partita
bool TPartita::remove()
{
_part.destroy_rows();
_unassigned.destroy_rows();
return rewrite();
bool TPartita::remove() const
{
const int err = _part.remove();
if (err == NOERR)
_unassigned.remove();
return err == NOERR;
}
@ -1370,18 +1371,18 @@ bool TPartite_array::destroy(const TBill& clifo, int anno, const char* num)
bool TPartite_array::write(bool re)
{
int err = NOERR;
bool ok = TRUE;
TPartita* game;
restart();
while ((game = (TPartita*)get()) != NULL)
{
err = game->write(re);
if (err != NOERR) // L'errore viene gia' segnalato dalla partita
ok = game->write(re);
if (!ok) // L'errore viene gia' segnalato dalla partita
break;
}
return err == NOERR;
return ok;
}
void TPartite_array::destroy()

View File

@ -231,7 +231,7 @@ public:
bool read(const TBill& clifo, int anno, const char* num);
bool write(bool re = FALSE) const;
bool rewrite() const { return write(TRUE); }
bool remove();
bool remove() const;
int mov2rig(long nreg, int rmov) const;
int rig2mov(int rmov) const;