Patch level : 10.0
Files correlati : ve1.exe Ricompilazione Demo : [ ] Commento : 0001186: Stampa Documenti Richiesta di preimpostare nella stampa documenti la numerazione, in modo tale che in apertura della parametrica sia impostato il valore 'B01'. git-svn-id: svn://10.65.10.50/trunk@18381 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
9378233cc5
commit
2b37fd2d2f
@ -1102,24 +1102,30 @@ void TReport_doc_app::print_selection(bool send_by_mail)
|
|||||||
|
|
||||||
void TReport_doc_app::main_loop()
|
void TReport_doc_app::main_loop()
|
||||||
{
|
{
|
||||||
if (argc() > 6) // Stampa da riga di comando
|
const int a = argc();
|
||||||
|
if (a > 2)
|
||||||
|
_msk->set(F_CODNUM, argv(2)); // Stampa da menu con numerazione imposta
|
||||||
|
|
||||||
|
if (a > 6) // Stampa da riga di comando
|
||||||
{
|
{
|
||||||
_msk->set(F_DATA_O_NUM, "N"); // Stampa per numero documento
|
_msk->set(F_DATA_O_NUM, "N"); // Stampa per numero documento
|
||||||
_msk->set(F_PROVV, argv(4));
|
|
||||||
_msk->set(F_ANNO, argv(3));
|
_msk->set(F_ANNO, argv(3));
|
||||||
_msk->set(F_CODNUM, argv(2));
|
_msk->set(F_PROVV, argv(4));
|
||||||
_msk->set(F_DA_NDOC, argv(5));
|
_msk->set(F_DA_NDOC, argv(5));
|
||||||
_msk->set(F_A_NDOC, argv(6));
|
_msk->set(F_A_NDOC, argv(6));
|
||||||
// argv(7) = stampa Definitiva o Provvisoria
|
if (a > 8)
|
||||||
if (argc() > 8)
|
|
||||||
_msk->set(F_NCOPIE, argv(8)); // Numero copie
|
_msk->set(F_NCOPIE, argv(8)); // Numero copie
|
||||||
print_selection();
|
print_selection();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
while (true)
|
||||||
{
|
{
|
||||||
KEY k;
|
const KEY k = _msk->run();
|
||||||
while ((k = _msk->run()) != K_QUIT) // Stampa interattiva
|
if (k == K_QUIT)
|
||||||
print_selection(k != K_ENTER);
|
break;
|
||||||
|
const bool mail = k != K_ENTER;
|
||||||
|
print_selection(mail);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -247,7 +247,7 @@ public:
|
|||||||
// Funzioni che effettuano la cache di importanti valori contenuti nel profilo
|
// Funzioni che effettuano la cache di importanti valori contenuti nel profilo
|
||||||
const char tipocf() const;
|
const char tipocf() const;
|
||||||
void set_defaults(TMask& m) const;
|
void set_defaults(TMask& m) const;
|
||||||
const TString_array& keys_descrs();
|
const TString_array& keys_descrs() const;
|
||||||
const TString_array& sheet_columns() const;
|
const TString_array& sheet_columns() const;
|
||||||
const TString_array& handlers() const;
|
const TString_array& handlers() const;
|
||||||
|
|
||||||
|
@ -181,7 +181,7 @@ const TString& TTipo_documento::riferimento(const TDocumento & doc, TString& rif
|
|||||||
return rif;
|
return rif;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TString_array& TTipo_documento::keys_descrs()
|
const TString_array& TTipo_documento::keys_descrs() const
|
||||||
{
|
{
|
||||||
if (_keys_descrs.empty())
|
if (_keys_descrs.empty())
|
||||||
{
|
{
|
||||||
@ -208,16 +208,15 @@ const TString_array& TTipo_documento::keys_descrs()
|
|||||||
if (k.blank())
|
if (k.blank())
|
||||||
{
|
{
|
||||||
TTable tri("%TRI");
|
TTable tri("%TRI");
|
||||||
|
|
||||||
for (int err = tri.first(); err == NOERR; err = tri.next())
|
for (int err = tri.first(); err == NOERR; err = tri.next())
|
||||||
{
|
{
|
||||||
k.add(tri.get("CODTAB"));
|
k.add(tri.get("CODTAB"));
|
||||||
d.add(tri.get("S0"));
|
d.add(tri.get("S0"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Fool const
|
||||||
_keys_descrs.add(k);
|
((TString_array&)_keys_descrs).add(k);
|
||||||
_keys_descrs.add(d);
|
((TString_array&)_keys_descrs).add(d);
|
||||||
|
|
||||||
}
|
}
|
||||||
return _keys_descrs;
|
return _keys_descrs;
|
||||||
|
@ -54,25 +54,19 @@ bool TOriginal_row_mask::on_key(KEY key)
|
|||||||
|
|
||||||
|
|
||||||
TDocumento_mask::TDocumento_mask(const char* td)
|
TDocumento_mask::TDocumento_mask(const char* td)
|
||||||
: TVariable_mask(), _progs_page(-1),
|
: TVariable_mask(), _progs_page(-1), _condv(NULL), _smartcard(NULL),
|
||||||
_condv(NULL), _smartcard(NULL),
|
_cms_start(-1), _cms_end(-1), _cms_start_sh(-1), _cms_end_sh(-1),
|
||||||
_cms_start(-1), _cms_end(-1),
|
_cdc_start(-1), _cdc_end(-1), _cdc_start_sh(-1), _cdc_end_sh(-1)
|
||||||
_cms_start_sh(-1), _cms_end_sh(-1),
|
|
||||||
_cdc_start(-1), _cdc_end(-1),
|
|
||||||
_cdc_start_sh(-1), _cdc_end_sh(-1)
|
|
||||||
|
|
||||||
{
|
{
|
||||||
CHECK(strlen(td) <= 4, "TDocumento_mask(TipoDocumento) not (MaskName)");
|
CHECK(td && *td && strlen(td) <= 4, "TDocumento_mask(TipoDocumento) not (MaskName)");
|
||||||
|
|
||||||
{
|
{
|
||||||
TMagazzini m;
|
TMagazzini m;
|
||||||
|
|
||||||
_ges_mag = m.gestmag();
|
_ges_mag = m.gestmag();
|
||||||
_ges_dep = m.gestdep();
|
_ges_dep = m.gestdep();
|
||||||
_std_mag = m.standardmag();
|
_std_mag = m.standardmag();
|
||||||
_std_dep = m.standarddep();
|
_std_dep = m.standarddep();
|
||||||
}
|
}
|
||||||
TDocumento & d = doc();
|
TDocumento& d = doc();
|
||||||
d.set_tipo(td);
|
d.set_tipo(td);
|
||||||
const TString16 mname = d.tipo().mask_name();
|
const TString16 mname = d.tipo().mask_name();
|
||||||
read_mask(mname, 0, MAX_PAGES);
|
read_mask(mname, 0, MAX_PAGES);
|
||||||
@ -82,12 +76,12 @@ TDocumento_mask::TDocumento_mask(const char* td)
|
|||||||
_sheet->set_notify( ss_notify );
|
_sheet->set_notify( ss_notify );
|
||||||
_sheet->set_append(FALSE);
|
_sheet->set_append(FALSE);
|
||||||
|
|
||||||
TList_field& listbox = (TList_field&)field(F_LBTIPORIGA);
|
TList_field& listbox = lfield(F_LBTIPORIGA);
|
||||||
|
|
||||||
TTipo_documento& tdoc = (TTipo_documento&)d.tipo();
|
const TTipo_documento& tdoc = d.tipo();
|
||||||
TToken_string& keys = (TToken_string&)tdoc.keys_descrs()[0];
|
const TToken_string& keys = tdoc.keys_descrs().row(0);
|
||||||
TToken_string& descrs = (TToken_string&)tdoc.keys_descrs()[1];
|
const TToken_string& desc = tdoc.keys_descrs().row(1);
|
||||||
listbox.replace_items(keys, descrs);
|
listbox.replace_items(keys, desc);
|
||||||
|
|
||||||
// Controlla se deve generare la pagina di analitica
|
// Controlla se deve generare la pagina di analitica
|
||||||
_ges_ca = dongle().active(CAAUT) || dongle().active(CMAUT);
|
_ges_ca = dongle().active(CAAUT) || dongle().active(CMAUT);
|
||||||
@ -1660,30 +1654,25 @@ bool TDocumento_mask::clifo_handler( TMask_field& f, KEY key )
|
|||||||
|
|
||||||
void TDocumento_mask::highlight_row(int row, bool dirty, bool update)
|
void TDocumento_mask::highlight_row(int row, bool dirty, bool update)
|
||||||
{
|
{
|
||||||
TSheet_field & sf = sfield(F_SHEET);
|
|
||||||
const int items = sf.items();
|
|
||||||
COLOR back = NORMAL_BACK_COLOR;
|
|
||||||
COLOR fore = NORMAL_COLOR;
|
|
||||||
const int last_rule = colors().items() - 1;
|
|
||||||
bool on = false;
|
|
||||||
const TRiga_documento & rigadoc = doc()[row + 1];
|
const TRiga_documento & rigadoc = doc()[row + 1];
|
||||||
TRow_colors * c = NULL;
|
TSheet_field& sf = sfield(F_SHEET);
|
||||||
|
|
||||||
for (int rule = last_rule; !on && rule >= 0; rule--)
|
|
||||||
{
|
|
||||||
c = (TRow_colors *) colors().objptr(rule);
|
|
||||||
|
|
||||||
|
COLOR back = COLOR_INVALID, fore = COLOR_INVALID;
|
||||||
|
|
||||||
|
for (int rule = colors().last(); rule >= 0; rule--)
|
||||||
|
{
|
||||||
|
TRow_colors* c = (TRow_colors*)colors().objptr(rule);
|
||||||
if (c != NULL)
|
if (c != NULL)
|
||||||
{
|
{
|
||||||
|
bool on = false;
|
||||||
if (rule == 0)
|
if (rule == 0)
|
||||||
on = rigadoc.linked();
|
on = rigadoc.linked(); // Regola standard
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TExpression * expr = (TExpression *) color_rules().objptr(rule);
|
TExpression* expr = (TExpression*)color_rules().objptr(rule);
|
||||||
|
|
||||||
if (expr != NULL)
|
if (expr != NULL)
|
||||||
{
|
{
|
||||||
// SET VARS
|
// SET VARS
|
||||||
const int vars = expr->numvar();
|
const int vars = expr->numvar();
|
||||||
|
|
||||||
for (int i = 0; i < vars; i++)
|
for (int i = 0; i < vars; i++)
|
||||||
@ -1696,11 +1685,9 @@ void TDocumento_mask::highlight_row(int row, bool dirty, bool update)
|
|||||||
if (name.starts_with("#"))
|
if (name.starts_with("#"))
|
||||||
{
|
{
|
||||||
const short id = atoi(name.mid(1));
|
const short id = atoi(name.mid(1));
|
||||||
|
|
||||||
if (id > 0)
|
if (id > 0)
|
||||||
{
|
{
|
||||||
TToken_string & sheet_row = sf.row(row);
|
TToken_string& sheet_row = sf.row(row);
|
||||||
|
|
||||||
expr->setvar(i, sheet_row.get(sf.cid2index(id)));
|
expr->setvar(i, sheet_row.get(sf.cid2index(id)));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1709,39 +1696,37 @@ void TDocumento_mask::highlight_row(int row, bool dirty, bool update)
|
|||||||
else
|
else
|
||||||
if (name.starts_with("33.") || name.starts_with("DOC."))
|
if (name.starts_with("33.") || name.starts_with("DOC."))
|
||||||
{
|
{
|
||||||
const TString & fldname = name.after('.');
|
const TString& fldname = name.after('.');
|
||||||
|
|
||||||
expr->setvar(i, doc().get(fldname));
|
expr->setvar(i, doc().get(fldname));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const TString & fldname = name.find('.') > 0 ? name.after('.') : name;
|
const TString& fldname = name.find('.') > 0 ? name.after('.') : name;
|
||||||
|
|
||||||
expr->setvar(i, rigadoc.get(fldname));
|
expr->setvar(i, rigadoc.get(fldname));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
on = expr->as_bool();
|
on = expr->as_bool();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (on)
|
||||||
|
{
|
||||||
|
back = c->back();
|
||||||
|
fore = c->fore();
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (on && c != NULL)
|
|
||||||
{
|
sf.set_back_and_fore_color(back, fore, row);
|
||||||
back = c->back();
|
if (update)
|
||||||
fore = c->fore();
|
|
||||||
}
|
|
||||||
sf.set_back_and_fore_color(back, fore, row);
|
|
||||||
if (update)
|
|
||||||
sf.force_update(row);
|
sf.force_update(row);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TDocumento_mask::highlight()
|
void TDocumento_mask::highlight()
|
||||||
{
|
{
|
||||||
TSheet_field & sf = sfield(F_SHEET);
|
TSheet_field& sf = sfield(F_SHEET);
|
||||||
const int items = sf.items();
|
FOR_EACH_SHEET_ROW(sf, i, r)
|
||||||
|
highlight_row(i, false, false);
|
||||||
for (int i = 0 ; i < items; i++)
|
|
||||||
highlight_row(i, false, false);
|
|
||||||
sf.force_update();
|
sf.force_update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user