Patch level : 10.0 512

Files correlati     :  ve1.exe
Ricompilazione Demo : [ ]

Modifiche alla stampa provvisoria e definitiva


git-svn-id: svn://10.65.10.50/trunk@19617 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2009-11-12 16:00:30 +00:00
parent 28310e3bd5
commit 48cb6f7053
4 changed files with 21 additions and 20 deletions

View File

@ -1262,7 +1262,6 @@ protected:
KEY select(void);
virtual void on_firm_change(void);
virtual behaviour on_module_change(const TString &, TString &); // funzione chiamata ad ogni cambio modulo durante la stampa
virtual bool query_final_print(void); // funzione chiamata all'inizializzazione per sapere se la stampa è definitiva
void set_filter(TDocumento_form& frm);
static bool codnum_handler(TMask_field& f, KEY key);
static bool date2num_handler(TMask_field& f, KEY key);
@ -1388,7 +1387,7 @@ void TStampaDoc_application::print_selected(KEY k)
error_box("Non vi sono documenti da stampare nell'intervallo indicato");
return;
}
_definitiva = query_final_print(); // legge il flag di stampa definitiva
_definitiva = _selection_mask->get(F_TIPOST) == "D";
}
TPrinter& pr = printer();
@ -1585,15 +1584,6 @@ behaviour TStampaDoc_application::on_module_change(const TString &modulo, TStrin
}
}
bool TStampaDoc_application::query_final_print()
{
if (_interattivo)
{ // se siamo in interattivo viene richiesto all'utente se la stampa è definitiva o meno
if (yesno_box(TR("E' una stampa definitiva?"))) return true;
else return false;
} else return _definitiva; // altrimenti ritorna il valore letto dalla linea di comando
}
void TStampaDoc_application::set_filter(TDocumento_form& frm)
{
TCursor* cur = frm.cursor();

View File

@ -10,6 +10,7 @@
#define F_DA_DATADOC 128
#define F_A_DATADOC 129
#define F_TIPOST 130
#define F_TIPOCF 110
#define F_CODFR 111

View File

@ -204,6 +204,14 @@ BEGIN
GROUP 2
END
LIST F_TIPOST 12
BEGIN
PROMPT 1 13 "Stampa "
ITEM "D|Definitiva"
ITEM "P|Provvisoria"
FLAG "P"
END
ENDPAGE
ENDMASK

View File

@ -299,13 +299,10 @@ bool TReport_doc::print(const TRecordset& doc, TReport_book& book, bool definiti
TDoc_recordset* rs = new TDoc_recordset(doc, old_query);
if (definitive && !rs->doc().stampabile())
return true;
set_recordset(rs);
bool printed = definitive && !rs->doc().stampabile();
bool printed = false;
for (int c = 1; c <= copie; c++)
for (int c = 1; ! printed && c <= copie; c++)
{
set_copy(c, copie);
// Tenta di stampare gli allegati solo sull'ultima copia definitiva
@ -1007,10 +1004,15 @@ bool TReport_doc_app::print_loop(const TString& query, TOutput_mode mode)
is_definitive = *argv(7) == 'D';
else
{
const KEY k = yesnocancel_box(FR("Stampare in definitiva %d documenti?"), docs);
if (k == K_ESC)
return false;
is_definitive = k == K_YES;
if (argc() < 6) // Vieta i link quando sono in batch
is_definitive = _msk->get(F_TIPOST) == "D";
else
{
const KEY k = yesnocancel_box(FR("Stampare in definitiva %d documenti?"), docs);
if (k == K_ESC)
return false;
is_definitive = k == K_YES;
}
}
if (mode == out_signed_mail && !xvt_sign_start())