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 <dongle.h>
|
||||||
#include <prefix.h>
|
#include <prefix.h>
|
||||||
#include <recarray.h>
|
#include <recarray.h>
|
||||||
|
#include <toolfld.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <xvtility.h>
|
#include <xvtility.h>
|
||||||
@ -174,7 +175,7 @@ void TAVM_list_window::update()
|
|||||||
TString str;
|
TString str;
|
||||||
int tab = 6;
|
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++)
|
for (int i = 0; i < last; i++)
|
||||||
{
|
{
|
||||||
const int y = i+1;
|
const int y = i+1;
|
||||||
@ -338,17 +339,6 @@ public:
|
|||||||
|
|
||||||
bool TAVM_monitor::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -356,6 +346,8 @@ bool TAVM_monitor::on_key(KEY k)
|
|||||||
{
|
{
|
||||||
switch (k)
|
switch (k)
|
||||||
{
|
{
|
||||||
|
case K_F9:
|
||||||
|
set_ignore_mon(true);
|
||||||
case K_F10:
|
case K_F10:
|
||||||
case K_F11:
|
case K_F11:
|
||||||
stop_run(k);
|
stop_run(k);
|
||||||
@ -365,27 +357,29 @@ bool TAVM_monitor::on_key(KEY k)
|
|||||||
return TAutomask::on_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);
|
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();
|
_lw = (TAVM_list_window*)&wf->win();
|
||||||
|
//finestra stack
|
||||||
TWindowed_field* sf = new TAVM_stack_field(this);
|
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();
|
_sw = (TAVM_stack_window*)&sf->win();
|
||||||
|
//finestra di return stack
|
||||||
TWindowed_field* rf = new TAVM_stack_field(this);
|
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();
|
_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();
|
set_handlers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,7 +83,8 @@
|
|||||||
#define DOC_TIPOCFFATT "TIPOCFFATT"
|
#define DOC_TIPOCFFATT "TIPOCFFATT"
|
||||||
#define DOC_CODCFFATT "CODCFFATT"
|
#define DOC_CODCFFATT "CODCFFATT"
|
||||||
#define DOC_LIQDIFF "LIQDIFF"
|
#define DOC_LIQDIFF "LIQDIFF"
|
||||||
|
#define DOC_DATACOMP "DATACOMP"
|
||||||
|
#define DOC_DATAFCOMP "DATAFCOMP"
|
||||||
|
|
||||||
// Virtuali
|
// Virtuali
|
||||||
|
|
||||||
|
@ -4133,7 +4133,7 @@ const char* TDate_field::win2raw(
|
|||||||
y = oggi.year();
|
y = oggi.year();
|
||||||
}
|
}
|
||||||
if (y < 100)
|
if (y < 100)
|
||||||
y += (y <= 10) ? 2000 : 1900;
|
y += (y <= 20) ? 2000 : 1900;
|
||||||
s.format("%02d-%02d-%4d", int(d), m, y);
|
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
|
// @cmember Permette la comparazione degli importi (0 se uguali in valore
|
||||||
// ed importo)
|
// ed importo)
|
||||||
virtual int compare(const TSortable& s) const;
|
virtual int compare(const TSortable& s) const;
|
||||||
|
// @cmember Duplicatore importi
|
||||||
|
virtual TObject* dup() const { return new TImporto(_sezione, _valore); }
|
||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
public:
|
||||||
|
@ -80,6 +80,68 @@
|
|||||||
SP
|
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
|
\ Implementazione dei vari messaggi standard
|
||||||
\ f1 campo o sezione del report
|
\ f1 campo o sezione del report
|
||||||
|
Loading…
x
Reference in New Issue
Block a user