Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : modifiche necessarie per la gestione degli importi nei report git-svn-id: svn://10.65.10.50/trunk@20335 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
003dba2a72
commit
c6e7c5df0b
@ -5,6 +5,7 @@
|
||||
#include <dongle.h>
|
||||
#include <prefix.h>
|
||||
#include <recarray.h>
|
||||
#include <toolfld.h>
|
||||
#include <urldefid.h>
|
||||
#include <utility.h>
|
||||
#include <xvtility.h>
|
||||
@ -174,7 +175,7 @@ void TAVM_list_window::update()
|
||||
TString str;
|
||||
int tab = 6;
|
||||
|
||||
const int last = min(_bc->items(), rows());
|
||||
const int last = min(_bc->items(), origin().y + rows());
|
||||
for (int i = 0; i < last; i++)
|
||||
{
|
||||
const int y = i+1;
|
||||
@ -338,17 +339,6 @@ public:
|
||||
|
||||
bool TAVM_monitor::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case 104:
|
||||
if (e == fe_init)
|
||||
o.set(ignore_mon() ? "X" : "");
|
||||
if (e == fe_modify)
|
||||
set_ignore_mon(!o.get().blank());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -356,6 +346,8 @@ bool TAVM_monitor::on_key(KEY k)
|
||||
{
|
||||
switch (k)
|
||||
{
|
||||
case K_F9:
|
||||
set_ignore_mon(true);
|
||||
case K_F10:
|
||||
case K_F11:
|
||||
stop_run(k);
|
||||
@ -365,27 +357,29 @@ bool TAVM_monitor::on_key(KEY k)
|
||||
return TAutomask::on_key(k);
|
||||
}
|
||||
|
||||
TAVM_monitor::TAVM_monitor() : TAutomask("Monitor", 1, 50, 20), _ignore_mon(false)
|
||||
TAVM_monitor::TAVM_monitor() : TAutomask("Monitor", 1, 64, -1, -1, 1), _ignore_mon(false)
|
||||
{
|
||||
//toolbar modernissima
|
||||
add_button_tool(DLG_NEXTREC, "Step F11", TOOL_NEXTREC).set_exit_key(K_F11);
|
||||
add_button_tool(DLG_LASTREC, "Skip F10", TOOL_NEXTREC).set_exit_key(K_F10);
|
||||
add_button_tool(DLG_ELABORA, "Run F5", TOOL_LASTREC).set_exit_key(K_F5);
|
||||
add_button_tool(DLG_CANCEL, "NoMon F9", TOOL_CANCEL).set_exit_key(K_F9);
|
||||
add_button_tool(DLG_QUIT, "End", TOOL_QUIT).set_exit_key(K_QUIT);
|
||||
|
||||
//campi vari
|
||||
//finestra con codice
|
||||
TWindowed_field* wf = new TAVM_list_field(this);
|
||||
wf->create(101, 0, 0, 24, -4); add_field(wf);
|
||||
wf->create(101, 0, 0, 31, -3, page_win(0)); add_field(wf);
|
||||
_lw = (TAVM_list_window*)&wf->win();
|
||||
|
||||
//finestra stack
|
||||
TWindowed_field* sf = new TAVM_stack_field(this);
|
||||
sf->create(102, 27, 0, -3, 9); add_field(sf);
|
||||
sf->create(102, 34, 0, -3, 12, page_win(0)); add_field(sf);
|
||||
_sw = (TAVM_stack_window*)&sf->win();
|
||||
|
||||
//finestra di return stack
|
||||
TWindowed_field* rf = new TAVM_stack_field(this);
|
||||
rf->create(103, 27, 10, -3, -4); add_field(rf);
|
||||
rf->create(103, 34, 13, -2, -1, page_win(0)); add_field(rf);
|
||||
_rw = (TAVM_stack_window*)&rf->win();
|
||||
|
||||
add_boolean(104, 0, TR("Ignora MON d'ora in poi"), 1, -3);
|
||||
|
||||
add_button(DLG_NEXTREC, 0, "", -14, -1, 10, 2, "", BMP_NEXTREC).set_exit_key(K_F11);
|
||||
add_button(DLG_LASTREC, 0, "", -24, -1, 10, 2, "", BMP_DARROWR2).set_exit_key(K_F10);
|
||||
add_button(DLG_ELABORA, 0, "", -34, -1, 10, 2, "", BMP_LASTREC).set_exit_key(K_F5);
|
||||
add_button(DLG_QUIT, 0, "", -44, -1, 10, 2).set_exit_key(K_QUIT);
|
||||
|
||||
set_handlers();
|
||||
}
|
||||
|
||||
|
@ -83,7 +83,8 @@
|
||||
#define DOC_TIPOCFFATT "TIPOCFFATT"
|
||||
#define DOC_CODCFFATT "CODCFFATT"
|
||||
#define DOC_LIQDIFF "LIQDIFF"
|
||||
|
||||
#define DOC_DATACOMP "DATACOMP"
|
||||
#define DOC_DATAFCOMP "DATAFCOMP"
|
||||
|
||||
// Virtuali
|
||||
|
||||
|
@ -4133,7 +4133,7 @@ const char* TDate_field::win2raw(
|
||||
y = oggi.year();
|
||||
}
|
||||
if (y < 100)
|
||||
y += (y <= 10) ? 2000 : 1900;
|
||||
y += (y <= 20) ? 2000 : 1900;
|
||||
s.format("%02d-%02d-%4d", int(d), m, y);
|
||||
}
|
||||
}
|
||||
|
@ -476,6 +476,8 @@ protected:
|
||||
// @cmember Permette la comparazione degli importi (0 se uguali in valore
|
||||
// ed importo)
|
||||
virtual int compare(const TSortable& s) const;
|
||||
// @cmember Duplicatore importi
|
||||
virtual TObject* dup() const { return new TImporto(_sezione, _valore); }
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
|
@ -80,6 +80,68 @@
|
||||
SP
|
||||
;
|
||||
|
||||
: REP_ADD_IMPORTO ( dst_sezione_fld dst_valore_fld src_sezione src_valore -- )
|
||||
DUP \ dup src_valore
|
||||
EMPTY= IF \ se l'importo sorgente è nullo butta tutto e finisce qui
|
||||
DROP
|
||||
DROP
|
||||
DROP
|
||||
DROP
|
||||
ELSE
|
||||
3 PICK >R \ prende dst_sezione_fld
|
||||
2 PICK >R \ prende dst_valore_fld
|
||||
>R \ store di src_valore
|
||||
>R \ store di src_sezione
|
||||
SWAP \ porta in cima allo stack la dst_sezione_fld
|
||||
DUP \ la duplica perchè la perde la riga dopo
|
||||
@ \ prende il valore di dst_sezione_fld
|
||||
|
||||
EMPTY= IF \ se la dst_sezione_fld è vuota
|
||||
R> \ recupera la src_sezione
|
||||
SWAP \ gira i due termini
|
||||
! \ assegna il contenuto della src_sezione al campo dst_sezione_fld
|
||||
R> \ prende src_valore
|
||||
SWAP \ gira i campi src_valore e dst_valore_fld
|
||||
! \ assegna src_valore al campo dst_valore_fld
|
||||
ELSE
|
||||
@
|
||||
R> \ legge src_sezione
|
||||
= IF
|
||||
R> \ prende src_valore
|
||||
ELSE
|
||||
R> \ prende src_valore
|
||||
-1 * \ inverte il segno di src_valore
|
||||
THEN
|
||||
SWAP \ gira i campi sullo stack src_valore dst_valore_fld
|
||||
+! \ somma src_valore con segno rovesciato al campo dst_valore_fld
|
||||
THEN
|
||||
\ normalizzazione della destinazione
|
||||
MON
|
||||
R@ \ recupera dst_valore_fld
|
||||
@ \ legge il valore di dst_valore_fld
|
||||
DUP \ lo duplica per possibile cambio di segno
|
||||
0 < IF \ se il valore è negativo
|
||||
-1 * \ gli cambia segno
|
||||
R> \ recupera ancora dst_valore_fld
|
||||
! \ salva il valore positivo nel campo dst_valore_fld
|
||||
R@ \ recupera dst_sezione_fld
|
||||
@ \ legge il valore di dst_sezione_fld
|
||||
"A" = IF \ lo inverte
|
||||
"D"
|
||||
ELSE
|
||||
"A"
|
||||
THEN
|
||||
R> \ recupera ancora dst_sezione_fld
|
||||
! \ salva il valore cambiato della sezione in dst_sezione_fld
|
||||
ELSE
|
||||
DROP \ se non deve invertire nulla svuota gli stack
|
||||
R>
|
||||
R>
|
||||
THEN
|
||||
|
||||
THEN
|
||||
;
|
||||
|
||||
\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
|
||||
\ Implementazione dei vari messaggi standard
|
||||
\ f1 campo o sezione del report
|
||||
|
Loading…
x
Reference in New Issue
Block a user