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:
parent
d4aefd10a0
commit
6301d0f6f6
@ -2,14 +2,20 @@
|
|||||||
|
|
||||||
TOOLBAR "" 0 -3 0 3
|
TOOLBAR "" 0 -3 0 3
|
||||||
|
|
||||||
|
STRING DLG_PROFILE 78
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 0 "Profilo "
|
||||||
|
PSELECT
|
||||||
|
END
|
||||||
|
|
||||||
BUTTON DLG_PRINT 12 2
|
BUTTON DLG_PRINT 12 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -12 -11 ""
|
PROMPT -12 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_QUIT 12 2
|
BUTTON DLG_QUIT 12 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -22 -11 ""
|
PROMPT -22 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
@ -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_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_OK, 0, "", -12, -1, 10, 2);
|
||||||
mask.add_button(DLG_QUIT, 0, "", -22, -1, 10, 2);
|
mask.add_button(DLG_QUIT, 0, "", -22, -1, 10, 2);
|
||||||
|
mask.set(101, 100);
|
||||||
if (mask.run() == K_QUIT)
|
if (mask.run() == K_QUIT)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -58,6 +59,11 @@ void TRandom_ca::main_loop()
|
|||||||
const TRecnotype conti = curconti.items();
|
const TRecnotype conti = curconti.items();
|
||||||
curconti.freeze();
|
curconti.freeze();
|
||||||
|
|
||||||
|
TRelation relcommesse(LF_COMMESSE);
|
||||||
|
TCursor curcommesse(&relcommesse);
|
||||||
|
const TRecnotype commesse = curcommesse.items();
|
||||||
|
curcommesse.freeze();
|
||||||
|
|
||||||
TRelation relcaus(LF_CAUSALI);
|
TRelation relcaus(LF_CAUSALI);
|
||||||
TCursor curcaus(&relcaus, "MOVIND=\"X\"");
|
TCursor curcaus(&relcaus, "MOVIND=\"X\"");
|
||||||
const TRecnotype causali = curcaus.items();
|
const TRecnotype causali = curcaus.items();
|
||||||
@ -97,8 +103,16 @@ void TRandom_ca::main_loop()
|
|||||||
TString80 descr; descr.format("Riga casuale %d", i+1);
|
TString80 descr; descr.format("Riga casuale %d", i+1);
|
||||||
rmov.put(RMOVANA_DESCR, descr);
|
rmov.put(RMOVANA_DESCR, descr);
|
||||||
|
|
||||||
|
if (conti > 0)
|
||||||
|
{
|
||||||
curconti = rand() % conti;
|
curconti = rand() % conti;
|
||||||
rmov.put(RMOVANA_CODCONTO, curconti.curr().get(PCONANA_CODCONTO));
|
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)));
|
const TImporto imp(i & 0x1 ? 'A' : 'D', real(10*(rand()%1000+1)));
|
||||||
rmov.put(RMOVANA_SEZIONE, imp.sezione());
|
rmov.put(RMOVANA_SEZIONE, imp.sezione());
|
||||||
rmov.put(RMOVANA_IMPORTO, imp.valore());
|
rmov.put(RMOVANA_IMPORTO, imp.valore());
|
||||||
|
@ -175,12 +175,17 @@ TImporto TAnal_balance::saldo_fine_anno(const char* conto, const char* costo,
|
|||||||
if (select.not_empty()) select << "&&";
|
if (select.not_empty()) select << "&&";
|
||||||
select << "(FASCMS=='" << fase << "')";
|
select << "(FASCMS=='" << fase << "')";
|
||||||
}
|
}
|
||||||
|
if (conto && *conto)
|
||||||
|
{
|
||||||
|
if (select.not_empty()) select << "&&";
|
||||||
|
select << "(CONTO=='" << conto << "')";
|
||||||
|
}
|
||||||
|
|
||||||
query << "USE SALDANA";
|
query << "USE SALDANA";
|
||||||
if (select.not_empty())
|
if (select.not_empty())
|
||||||
query << "SELECT " << select;
|
query << " SELECT " << select;
|
||||||
query << "\nFROM CONTO=" << conto << '\n';
|
if (anno > 0)
|
||||||
query << "\nTO CONTO=" << conto << " ANNO=" << anno << '\n';
|
query << "\nTO ANNO=" << anno << '\n';
|
||||||
|
|
||||||
TISAM_recordset saldini(query);
|
TISAM_recordset saldini(query);
|
||||||
|
|
||||||
@ -225,19 +230,39 @@ bool TAnal_balance::saldo_movimenti(const char* conto, const char* costo,
|
|||||||
dataini = esc[annoprec].fine()+1L;
|
dataini = esc[annoprec].fine()+1L;
|
||||||
}
|
}
|
||||||
|
|
||||||
TString query;
|
TString query, select;
|
||||||
query << "USE RMOVANA KEY 2\n";
|
|
||||||
if (dataini.ok())
|
if (dataini.ok())
|
||||||
query << "&&(ANSI(107.DATACOMP)>=" << dataini.date2ansi() << ")";
|
select << "(ANSI(107.DATACOMP)>=" << dataini.date2ansi() << ")";
|
||||||
if (al.ok())
|
if (al.ok())
|
||||||
query << "&&(ANSI(107.DATACOMP)<=" << al.date2ansi() << ")";
|
{
|
||||||
|
if (select.not_empty())
|
||||||
|
select << "&&";
|
||||||
|
select << "(ANSI(107.DATACOMP)<=" << al.date2ansi() << ")";
|
||||||
|
}
|
||||||
if (costo && *costo)
|
if (costo && *costo)
|
||||||
query << "&&(CODCOSTO==\"" << costo << "\")";
|
{
|
||||||
|
if (select.not_empty())
|
||||||
|
select << "&&";
|
||||||
|
select << "(CODCOSTO==\"" << costo << "\")";
|
||||||
|
}
|
||||||
if (commessa && *commessa)
|
if (commessa && *commessa)
|
||||||
query << "&&(CODCMS==\"" << commessa << "\")";
|
{
|
||||||
|
if (select.not_empty())
|
||||||
|
select << "&&";
|
||||||
|
select << "(CODCMS==\"" << commessa << "\")";
|
||||||
|
}
|
||||||
if (fase && *fase)
|
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;
|
query << "FROM CODCONTO=" << conto;
|
||||||
if (dataini.ok())
|
if (dataini.ok())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user