Patch level : 10.0 142
Files correlati : ve0.exe Ricompilazione Demo : [ ] Commento : aggiunti 2 paramentri alla chiamata dei documenti interattivi per poter selesionare solo bolle o fatture (Lavanderie) git-svn-id: svn://10.65.10.50/trunk@17420 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
5311bdafd3
commit
b5d542918d
@ -487,7 +487,6 @@ bool TMotore_application::user_create( )
|
|||||||
LF_TAB, LF_TABCOM, LF_CLIFO, LF_CFVEN, LF_INDSP, LF_OCCAS, LF_PCON, LF_MOV, LF_STOMAG,
|
LF_TAB, LF_TABCOM, LF_CLIFO, LF_CFVEN, LF_INDSP, LF_OCCAS, LF_PCON, LF_MOV, LF_STOMAG,
|
||||||
LF_MOVMAG, LF_RMOVMAG, LF_MAG, LF_SVRIEP, LF_AGENTI, LF_PERCPROV, LF_ATTIV, LF_CAUSALI, 0);
|
LF_MOVMAG, LF_RMOVMAG, LF_MAG, LF_SVRIEP, LF_AGENTI, LF_PERCPROV, LF_ATTIV, LF_CAUSALI, 0);
|
||||||
|
|
||||||
|
|
||||||
_config_ditta = new TConfig(CONFIG_DITTA);
|
_config_ditta = new TConfig(CONFIG_DITTA);
|
||||||
|
|
||||||
// Metto in relazione testata e righe
|
// Metto in relazione testata e righe
|
||||||
@ -501,13 +500,75 @@ bool TMotore_application::user_create( )
|
|||||||
|
|
||||||
_msk->set_handler( F_ANNO, TDocumento_mask::anno_handler );
|
_msk->set_handler( F_ANNO, TDocumento_mask::anno_handler );
|
||||||
_msk->set_handler( F_CODNUM, TDocumento_mask::num_handler );
|
_msk->set_handler( F_CODNUM, TDocumento_mask::num_handler );
|
||||||
_msk->set_handler( F_TIPODOC, TDocumento_mask::tip_handler );
|
|
||||||
_msk->set_handler( F_NUMDOCRIF, TDocumento_mask::numdocrif_search_handler );
|
_msk->set_handler( F_NUMDOCRIF, TDocumento_mask::numdocrif_search_handler );
|
||||||
_msk->set_handler( F_RAGSOCSEARCH, TDocumento_mask::ragsoc_search_handler );
|
_msk->set_handler( F_RAGSOCSEARCH, TDocumento_mask::ragsoc_search_handler );
|
||||||
|
|
||||||
TConfig utente( CONFIG_USER );
|
const int args = argc() ;
|
||||||
_codnum = utente.get("CODNUM");
|
|
||||||
_tipodoc = utente.get("TIPODOC");
|
for (int i = 2; i < args; i++)
|
||||||
|
{
|
||||||
|
const TString arg(argv(i));
|
||||||
|
|
||||||
|
if (arg.starts_with("-def"))
|
||||||
|
{
|
||||||
|
TToken_string str(arg.mid(4), ',');
|
||||||
|
const TString16 codnum(str.get());
|
||||||
|
const TString16 tipodoc(str.get());
|
||||||
|
const TString16 paragraph(str.get());
|
||||||
|
|
||||||
|
if (paragraph.blank())
|
||||||
|
{
|
||||||
|
_codnum = codnum;
|
||||||
|
_tipodoc = tipodoc;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TConfig c(CONFIG_DITTA, paragraph);
|
||||||
|
|
||||||
|
_codnum = c.get(codnum);
|
||||||
|
_tipodoc = c.get(tipodoc);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (arg.starts_with("-filt"))
|
||||||
|
{
|
||||||
|
TEdit_field & e = _msk->efield(F_CODNUM);
|
||||||
|
TBrowse * b = e.browse();
|
||||||
|
TEdit_field & edes = _msk->efield(F_DESNUM);
|
||||||
|
TBrowse * bdes = edes.browse();
|
||||||
|
|
||||||
|
if (b != NULL || bdes != NULL)
|
||||||
|
{
|
||||||
|
TString filter = b->get_filter();
|
||||||
|
|
||||||
|
if (filter.full())
|
||||||
|
{
|
||||||
|
filter.insert("(");
|
||||||
|
filter << ")&&(" << arg.mid(5) << ")";
|
||||||
|
if (b != NULL)
|
||||||
|
b->set_filter(filter);
|
||||||
|
if (bdes != NULL)
|
||||||
|
bdes->set_filter(filter);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const TString newfilter(arg.mid(5));
|
||||||
|
|
||||||
|
if (b != NULL)
|
||||||
|
b->set_filter(newfilter);
|
||||||
|
if (bdes != NULL)
|
||||||
|
bdes->set_filter(newfilter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
TConfig utente( CONFIG_USER );
|
||||||
|
|
||||||
|
if (_codnum.blank())
|
||||||
|
_codnum = utente.get("CODNUM");
|
||||||
|
if (_tipodoc.blank())
|
||||||
|
_tipodoc = utente.get("TIPODOC");
|
||||||
_docmsk = NULL;
|
_docmsk = NULL;
|
||||||
|
|
||||||
load_auto_reopen_data();
|
load_auto_reopen_data();
|
||||||
|
@ -916,7 +916,6 @@ public:
|
|||||||
TCodgiac_livelli& livelli() const { return *_livelli_giac; }
|
TCodgiac_livelli& livelli() const { return *_livelli_giac; }
|
||||||
static bool anno_handler( TMask_field& f, KEY key);
|
static bool anno_handler( TMask_field& f, KEY key);
|
||||||
static bool num_handler( TMask_field& f, KEY key );
|
static bool num_handler( TMask_field& f, KEY key );
|
||||||
static bool tip_handler( TMask_field& f, KEY key );
|
|
||||||
static bool numdocrif_search_handler( TMask_field& f, KEY key );
|
static bool numdocrif_search_handler( TMask_field& f, KEY key );
|
||||||
static bool ragsoc_search_handler( TMask_field& f, KEY key );
|
static bool ragsoc_search_handler( TMask_field& f, KEY key );
|
||||||
static bool datadocrif_handler(TMask_field& f, KEY key);
|
static bool datadocrif_handler(TMask_field& f, KEY key);
|
||||||
|
@ -3052,17 +3052,40 @@ bool TDocumento_mask::anno_handler( TMask_field& f, KEY key)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TString16 __codnum;
|
||||||
|
|
||||||
|
bool tip_filter(const TRelation* r)
|
||||||
|
{
|
||||||
|
if (__codnum.blank())
|
||||||
|
return true;
|
||||||
|
const TCodice_numerazione & cod_num = cached_numerazione(__codnum);
|
||||||
|
const TString4 tipo = r->curr().get("CODTAB");
|
||||||
|
|
||||||
|
int last = cod_num.ntipi_doc();
|
||||||
|
for (int i = 0; i < last; i++ )
|
||||||
|
{
|
||||||
|
const TString & curtipo = cod_num.tipo_doc(i);
|
||||||
|
if (curtipo == tipo)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool TDocumento_mask::num_handler( TMask_field& f, KEY key)
|
bool TDocumento_mask::num_handler( TMask_field& f, KEY key)
|
||||||
{
|
{
|
||||||
if (key == K_TAB && f.to_check(key, TRUE))
|
if (key == K_TAB && f.to_check(key, TRUE))
|
||||||
{
|
{
|
||||||
// Ottengo la maschera
|
// Ottengo la maschera
|
||||||
TMask& m = f.mask();
|
TMask& m = f.mask();
|
||||||
|
const TString & codnum = f.get();
|
||||||
TTable & tabnum = ((TTable &) ((TEdit_field &)f).browse()->cursor()->file());
|
TCursor * cur = m.efield(F_TIPODOC).browse()->cursor();
|
||||||
if ( tabnum.good())
|
TCursor * descur = m.efield(F_DESTIPODOC).browse()->cursor();
|
||||||
|
|
||||||
|
__codnum = codnum;
|
||||||
|
if (codnum.full())
|
||||||
{
|
{
|
||||||
TCodice_numerazione cod_num(tabnum.curr());
|
const TCodice_numerazione & cod_num = cached_numerazione(codnum);
|
||||||
|
|
||||||
m.set( F_DESNUM, cod_num.descrizione());
|
m.set( F_DESNUM, cod_num.descrizione());
|
||||||
// Propone il primo tipo di documento come default
|
// Propone il primo tipo di documento come default
|
||||||
if (m.field(F_TIPODOC).empty() || f.focusdirty())
|
if (m.field(F_TIPODOC).empty() || f.focusdirty())
|
||||||
@ -3091,31 +3114,13 @@ bool TDocumento_mask::num_handler( TMask_field& f, KEY key)
|
|||||||
m.set( F_DESNUM, "" );
|
m.set( F_DESNUM, "" );
|
||||||
m.set( F_TIPODOC, "" );
|
m.set( F_TIPODOC, "" );
|
||||||
}
|
}
|
||||||
|
cur->set_filterfunction(tip_filter);
|
||||||
|
descur->set_filterfunction(tip_filter);
|
||||||
app().update_navigation_bar();
|
app().update_navigation_bar();
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TDocumento_mask::tip_handler( TMask_field& f, KEY key )
|
|
||||||
{
|
|
||||||
TDocumento_mask& m = (TDocumento_mask&)f.mask( );
|
|
||||||
if ( key == K_TAB && m.is_running() && m.get(F_TIPODOC).not_empty())
|
|
||||||
{
|
|
||||||
TCodice_numerazione cod_num(m.get(F_CODNUM));
|
|
||||||
const TString& tipo = f.get();
|
|
||||||
int last = cod_num.ntipi_doc();
|
|
||||||
for (int i = 0; i < last; i++ )
|
|
||||||
{
|
|
||||||
const TString16 curtipo(cod_num.tipo_doc(i));
|
|
||||||
if (curtipo == tipo)
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return f.error_box( "Tipo non valido per la numerazione selezionata!" );
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TDocumento_mask::codlist_handler( TMask_field& f, KEY key )
|
bool TDocumento_mask::codlist_handler( TMask_field& f, KEY key )
|
||||||
{
|
{
|
||||||
if (key == K_TAB && f.focusdirty())
|
if (key == K_TAB && f.focusdirty())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user