Patch level : 2.2.

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

Corretto calcolo saldi :-)


git-svn-id: svn://10.65.10.50/trunk@13220 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2005-06-24 15:07:14 +00:00
parent d4aefd10a0
commit 6301d0f6f6
3 changed files with 60 additions and 15 deletions

View File

@ -2,14 +2,20 @@
TOOLBAR "" 0 -3 0 3
STRING DLG_PROFILE 78
BEGIN
PROMPT 1 0 "Profilo "
PSELECT
END
BUTTON DLG_PRINT 12 2
BEGIN
PROMPT -12 -11 ""
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 12 2
BEGIN
PROMPT -22 -11 ""
PROMPT -22 -1 ""
END
ENDPAGE

View File

@ -41,6 +41,7 @@ void TRandom_ca::main_loop()
mask.add_static (DLG_NULL, 0, "@bAttenzione: verranno distrutti movimenti e saldi", 1, 3);
mask.add_button(DLG_OK, 0, "", -12, -1, 10, 2);
mask.add_button(DLG_QUIT, 0, "", -22, -1, 10, 2);
mask.set(101, 100);
if (mask.run() == K_QUIT)
return;
@ -58,6 +59,11 @@ void TRandom_ca::main_loop()
const TRecnotype conti = curconti.items();
curconti.freeze();
TRelation relcommesse(LF_COMMESSE);
TCursor curcommesse(&relcommesse);
const TRecnotype commesse = curcommesse.items();
curcommesse.freeze();
TRelation relcaus(LF_CAUSALI);
TCursor curcaus(&relcaus, "MOVIND=\"X\"");
const TRecnotype causali = curcaus.items();
@ -97,8 +103,16 @@ void TRandom_ca::main_loop()
TString80 descr; descr.format("Riga casuale %d", i+1);
rmov.put(RMOVANA_DESCR, descr);
if (conti > 0)
{
curconti = rand() % conti;
rmov.put(RMOVANA_CODCONTO, curconti.curr().get(PCONANA_CODCONTO));
}
if (commesse > 0)
{
curcommesse = rand() % commesse;
rmov.put(RMOVANA_CODCMS, curcommesse.curr().get("CODCMS"));
}
const TImporto imp(i & 0x1 ? 'A' : 'D', real(10*(rand()%1000+1)));
rmov.put(RMOVANA_SEZIONE, imp.sezione());
rmov.put(RMOVANA_IMPORTO, imp.valore());

View File

@ -175,12 +175,17 @@ TImporto TAnal_balance::saldo_fine_anno(const char* conto, const char* costo,
if (select.not_empty()) select << "&&";
select << "(FASCMS=='" << fase << "')";
}
if (conto && *conto)
{
if (select.not_empty()) select << "&&";
select << "(CONTO=='" << conto << "')";
}
query << "USE SALDANA";
if (select.not_empty())
query << "SELECT " << select;
query << "\nFROM CONTO=" << conto << '\n';
query << "\nTO CONTO=" << conto << " ANNO=" << anno << '\n';
query << " SELECT " << select;
if (anno > 0)
query << "\nTO ANNO=" << anno << '\n';
TISAM_recordset saldini(query);
@ -225,19 +230,39 @@ bool TAnal_balance::saldo_movimenti(const char* conto, const char* costo,
dataini = esc[annoprec].fine()+1L;
}
TString query;
query << "USE RMOVANA KEY 2\n";
TString query, select;
if (dataini.ok())
query << "&&(ANSI(107.DATACOMP)>=" << dataini.date2ansi() << ")";
select << "(ANSI(107.DATACOMP)>=" << dataini.date2ansi() << ")";
if (al.ok())
query << "&&(ANSI(107.DATACOMP)<=" << al.date2ansi() << ")";
{
if (select.not_empty())
select << "&&";
select << "(ANSI(107.DATACOMP)<=" << al.date2ansi() << ")";
}
if (costo && *costo)
query << "&&(CODCOSTO==\"" << costo << "\")";
{
if (select.not_empty())
select << "&&";
select << "(CODCOSTO==\"" << costo << "\")";
}
if (commessa && *commessa)
query << "&&(CODCMS==\"" << commessa << "\")";
{
if (select.not_empty())
select << "&&";
select << "(CODCMS==\"" << commessa << "\")";
}
if (fase && *fase)
query << "&&(CODFASE==\"" << fase << "\")";
query << "\nJOIN MOVANA INTO NUMREG==NUMREG\n";
{
if (select.not_empty())
select << "&&";
select << "(CODFASE==\"" << fase << "\")";
}
query << "USE RMOVANA KEY 2\n";
if (select.not_empty())
query << "SELECT " << select << "\n";
query << "JOIN MOVANA INTO NUMREG==NUMREG\n";
query << "FROM CODCONTO=" << conto;
if (dataini.ok())