Aggiornamento residuo
git-svn-id: svn://10.65.10.50/trunk@1898 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a887382158
commit
49c942c927
13
cg/cg2100.h
13
cg/cg2100.h
@ -118,11 +118,12 @@
|
|||||||
#define K_DOCUMENTO 407
|
#define K_DOCUMENTO 407
|
||||||
#define K_TIPODOC 408
|
#define K_TIPODOC 408
|
||||||
#define K_PROTIVA 409
|
#define K_PROTIVA 409
|
||||||
#define K_PROVVISORIO 410
|
#define K_TOTALE 410
|
||||||
#define K_DESCR 411
|
#define K_RESIDUO 411
|
||||||
#define K_DATADOC 412
|
#define K_DESCR 412
|
||||||
#define K_NUMDOC 413
|
#define K_DATADOC 413
|
||||||
#define K_ANNOES 414
|
#define K_NUMDOC 414
|
||||||
#define K_DATACOMP 415
|
#define K_ANNOES 415
|
||||||
|
#define K_DATACOMP 416
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -232,6 +232,7 @@ BEGIN
|
|||||||
GROUP 5
|
GROUP 5
|
||||||
FIELD TOTDOC
|
FIELD TOTDOC
|
||||||
VALIDATE REQIF_FUNC 1 S_TOTDOCVAL
|
VALIDATE REQIF_FUNC 1 S_TOTDOCVAL
|
||||||
|
MESSAGE COPY,K_TOTALE
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_TOTDOCVAL 15 2
|
NUMBER S_TOTDOCVAL 15 2
|
||||||
@ -289,41 +290,47 @@ BEGIN
|
|||||||
FLAGS "DZ"
|
FLAGS "DZ"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING K_CODCAUS 3
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 5 "Causale "
|
|
||||||
FLAGS "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING K_DESCRCAUS 50
|
|
||||||
BEGIN
|
|
||||||
PROMPT 25 5 ""
|
|
||||||
FLAGS "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
LIST K_PROVVISORIO 1 25
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 6 "Movimento provvisorio "
|
|
||||||
ITEM " |No (movimento normale)"
|
|
||||||
ITEM "P|Si (cancellabile)"
|
|
||||||
FLAGS "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
STRING K_TIPODOC 2
|
|
||||||
BEGIN
|
|
||||||
PROMPT 60 6 "Tipo documento "
|
|
||||||
FLAGS "D"
|
|
||||||
END
|
|
||||||
|
|
||||||
DATE K_DATADOC
|
DATE K_DATADOC
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Data del documento "
|
PROMPT 1 5 "Data del documento "
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING K_NUMDOC 7
|
STRING K_NUMDOC 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 38 7 "Num. "
|
PROMPT 38 5 "Numero documento "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING K_TIPODOC 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 65 5 "Tipo doc. "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING K_CODCAUS 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 6 "Causale "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING K_DESCRCAUS 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 25 6 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER K_TOTALE 15
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 7 "Totale doc. "
|
||||||
|
PICTURE "."
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER K_RESIDUO 15
|
||||||
|
BEGIN
|
||||||
|
PROMPT 32 7 "Residuo "
|
||||||
|
PICTURE "."
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -332,7 +339,7 @@ BEGIN
|
|||||||
PROMPT 60 7 "Riga "
|
PROMPT 60 7 "Riga "
|
||||||
ITEM "K|Saldaconto"
|
ITEM "K|Saldaconto"
|
||||||
ITEM "G|Spese"
|
ITEM "G|Spese"
|
||||||
ITEM "A|Altro"
|
ITEM "A|Normale"
|
||||||
END
|
END
|
||||||
|
|
||||||
SPREADSHEET F_SHEETCG
|
SPREADSHEET F_SHEETCG
|
||||||
|
@ -465,7 +465,7 @@ BEGIN
|
|||||||
PROMPT 1 13 "Totale documento "
|
PROMPT 1 13 "Totale documento "
|
||||||
HELP "Totale del documento generante il movimento"
|
HELP "Totale del documento generante il movimento"
|
||||||
FIELD TOTDOC
|
FIELD TOTDOC
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_TOTDOCVAL 15 2
|
NUMBER S_TOTDOCVAL 15 2
|
||||||
|
@ -453,31 +453,54 @@ real TPrimanota_application::calcola_saldo() const
|
|||||||
TString_array& rows = cgs().rows_array();
|
TString_array& rows = cgs().rows_array();
|
||||||
const int max = rows.items();
|
const int max = rows.items();
|
||||||
|
|
||||||
|
TImporto saldaconto;
|
||||||
|
const bool pag = is_pagamento();
|
||||||
|
|
||||||
real tdare, tavere;
|
real tdare, tavere;
|
||||||
|
|
||||||
for (int i = 0; i < max; i++)
|
for (int i = 0; i < max; i++)
|
||||||
{
|
{
|
||||||
TToken_string& r = rows.row(i);
|
TToken_string& r = rows.row(i);
|
||||||
tdare += real(r.get(0));
|
tdare += real(r.get(0));
|
||||||
tavere += real(r.get());
|
tavere += real(r.get());
|
||||||
|
|
||||||
|
if (pag)
|
||||||
|
{
|
||||||
|
const char sez = tdare.is_zero() ? 'A' : 'D';
|
||||||
|
const TImporto importo(sez, sez == 'A' ? tavere : tdare);
|
||||||
|
const char tipo = row_type(r);
|
||||||
|
if (strchr("ACGKP", tipo) != NULL)
|
||||||
|
saldaconto += importo;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TMask& m = curr_mask();
|
||||||
real sbilancio = abs(tdare)-abs(tavere);
|
real sbilancio = abs(tdare)-abs(tavere);
|
||||||
switch (sbilancio.sign())
|
switch (sbilancio.sign())
|
||||||
{
|
{
|
||||||
case +1: // Il dare supera l'avere in valore assoluto
|
case +1: // Il dare supera l'avere in valore assoluto
|
||||||
curr_mask().set(F_DARE, (tdare-tavere).string());
|
m.set(F_DARE, (tdare-tavere).string());
|
||||||
curr_mask().reset(F_AVERE);
|
m.reset(F_AVERE);
|
||||||
break;
|
break;
|
||||||
case -1: // L'avere supera il dare in valore assoluto
|
case -1: // L'avere supera il dare in valore assoluto
|
||||||
curr_mask().reset(F_DARE);
|
m.reset(F_DARE);
|
||||||
curr_mask().set(F_AVERE, (tavere-tdare).string());
|
m.set(F_AVERE, (tavere-tdare).string());
|
||||||
break;
|
break;
|
||||||
default: // Sbilancio nullo
|
default: // Sbilancio nullo
|
||||||
curr_mask().reset(F_DARE);
|
m.reset(F_DARE);
|
||||||
curr_mask().reset(F_AVERE);
|
m.reset(F_AVERE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (pag)
|
||||||
|
{
|
||||||
|
const char sez = causale().sezione(1);
|
||||||
|
saldaconto.normalize(sez);
|
||||||
|
real t(m.get(F_TOTALE));
|
||||||
|
t -= saldaconto.valore();
|
||||||
|
m.set(K_RESIDUO, t.string());
|
||||||
|
}
|
||||||
|
|
||||||
return sbilancio;
|
return sbilancio;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,7 +227,7 @@ protected:
|
|||||||
public:
|
public:
|
||||||
static char row_type(const TToken_string& s);
|
static char row_type(const TToken_string& s);
|
||||||
|
|
||||||
TCausale& causale() { return *_causale; }
|
TCausale& causale() const { return *_causale; }
|
||||||
TPartite_array& partite() { return _partite; } // Partite editate
|
TPartite_array& partite() { return _partite; } // Partite editate
|
||||||
int nuovo_pagamento(TPartita& p, int nriga, int rata, int rmov);
|
int nuovo_pagamento(TPartita& p, int nriga, int rata, int rmov);
|
||||||
bool edit_pagamento(TPartita& p, int nriga, int nrata, int nrigp);
|
bool edit_pagamento(TPartita& p, int nriga, int nrata, int nrigp);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user