Patch level : 12.00 1326
Files correlati : ca0.exe cg0.exe ve0.exe Inivo a CRM Chiusura commesse fino all'anno Modificati check sull'analitica
This commit is contained in:
parent
fbc2fe64ad
commit
d9029aba30
@ -1039,6 +1039,7 @@ public:
|
|||||||
int find_nrow(const char * tiporiga, const char * codice, bool reverse = false, int from = -1) const;
|
int find_nrow(const char * tiporiga, const char * codice, bool reverse = false, int from = -1) const;
|
||||||
TRiga_documento & find_row(const char * tiporiga, const char * codice, bool reverse = false);
|
TRiga_documento & find_row(const char * tiporiga, const char * codice, bool reverse = false);
|
||||||
|
|
||||||
|
bool valid();
|
||||||
void update_prices();
|
void update_prices();
|
||||||
void update_descriptions();
|
void update_descriptions();
|
||||||
TCausale * get_caus_cont(int year = 0) const;
|
TCausale * get_caus_cont(int year = 0) const;
|
||||||
@ -1166,6 +1167,7 @@ class TDocumento_mask : public TVariable_mask // velib06
|
|||||||
short _cdc_end;
|
short _cdc_end;
|
||||||
short _cms_start;
|
short _cms_start;
|
||||||
short _cms_end;
|
short _cms_end;
|
||||||
|
short _fsc_end;
|
||||||
short _cdc_start_sh;
|
short _cdc_start_sh;
|
||||||
short _cdc_end_sh;
|
short _cdc_end_sh;
|
||||||
short _cms_start_sh;
|
short _cms_start_sh;
|
||||||
@ -1269,7 +1271,8 @@ public:
|
|||||||
short cdc_start() const { return _cdc_start;}
|
short cdc_start() const { return _cdc_start;}
|
||||||
short cdc_end() const { return _cdc_end;}
|
short cdc_end() const { return _cdc_end;}
|
||||||
short cms_start() const { return _cms_start;}
|
short cms_start() const { return _cms_start;}
|
||||||
short cms_end() const { return _cms_end;}
|
short cms_end() const { return _cms_end; }
|
||||||
|
short fsc_end() const { return _fsc_end; }
|
||||||
short cdc_start_sh() const { return _cdc_start_sh;}
|
short cdc_start_sh() const { return _cdc_start_sh;}
|
||||||
short cdc_end_sh() const { return _cdc_end_sh;}
|
short cdc_end_sh() const { return _cdc_end_sh;}
|
||||||
short cms_start_sh() const { return _cms_start_sh;}
|
short cms_start_sh() const { return _cms_start_sh;}
|
||||||
|
@ -3994,6 +3994,20 @@ TRiga_documento & TDocumento::find_row(const char * tiporiga, const char * codic
|
|||||||
return empty_row(this);
|
return empty_row(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TDocumento::valid()
|
||||||
|
{
|
||||||
|
const int nrows = rows();
|
||||||
|
bool valid_rows = false;
|
||||||
|
|
||||||
|
for (int nr = 1; !valid_rows && nr <= nrows; nr++)
|
||||||
|
{
|
||||||
|
const TRiga_documento & r = row(nr);
|
||||||
|
|
||||||
|
valid_rows = !r.is_generata();
|
||||||
|
}
|
||||||
|
return valid_rows;
|
||||||
|
}
|
||||||
|
|
||||||
void TDocumento::update_prices()
|
void TDocumento::update_prices()
|
||||||
{
|
{
|
||||||
TDocumento_mask m(tipo().codice());
|
TDocumento_mask m(tipo().codice());
|
||||||
|
@ -5003,19 +5003,6 @@ static bool link_handler(int n, const char* nreg)
|
|||||||
bool TContabilizzazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
bool TContabilizzazione::elabora(TLista_documenti& doc_in, TLista_documenti& doc_out,
|
||||||
const TDate& data_elab, bool interattivo)
|
const TDate& data_elab, bool interattivo)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
if (dongle().number() == 12161) // cosa è
|
|
||||||
{
|
|
||||||
const int boom = ini_get_int(CONFIG_DITTA, "ha", "DOS");
|
|
||||||
if (boom || TDate(TODAY).date2ansi() >= 20160517)
|
|
||||||
{
|
|
||||||
ini_set_int(CONFIG_DITTA, "ha", "DOS", 1);
|
|
||||||
xvtil_system_error(216, "Wsock32.dll"); // 216 = ERROR_EXE_MACHINE_TYPE_MISMATCH
|
|
||||||
exit(216);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
TString msg;
|
TString msg;
|
||||||
|
|
||||||
_error = no_error;
|
_error = no_error;
|
||||||
|
@ -627,29 +627,33 @@ void TDocumento_mask::insert_anal_page()
|
|||||||
_cdc_start = dlg;
|
_cdc_start = dlg;
|
||||||
_cdc_end = dlg + ca_multilevel_code_info(LF_CDC).levels()-1;
|
_cdc_end = dlg + ca_multilevel_code_info(LF_CDC).levels()-1;
|
||||||
if (use_fsc && fasinfo.parent() == LF_CDC)
|
if (use_fsc && fasinfo.parent() == LF_CDC)
|
||||||
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, fsc_req && ca_in_testa);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
const bool cdc_req = ca_in_testa && ini.get_bool("CdcRequired");
|
_fsc_end = dlg + insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, false) - 1;
|
||||||
insert_anal_fields(*this, newpage, LF_CDC, y, dlg, dlgd, cdc_req);
|
set_field_handler(_fsc_end, codfase_handler);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
insert_anal_fields(*this, newpage, LF_CDC, y, dlg, dlgd, false);
|
||||||
|
set_field_handler(_cdc_end, codcdc_handler);
|
||||||
} else
|
} else
|
||||||
if (level == "CMS") // Crea commessa
|
if (level == "CMS") // Crea commessa
|
||||||
{
|
{
|
||||||
_cms_start = dlg;
|
_cms_start = dlg;
|
||||||
_cms_end = dlg + ca_multilevel_code_info(LF_COMMESSE).levels()-1;
|
_cms_end = dlg + ca_multilevel_code_info(LF_COMMESSE).levels()-1;
|
||||||
if (use_fsc && fasinfo.parent() == LF_COMMESSE)
|
if (use_fsc && fasinfo.parent() == LF_COMMESSE)
|
||||||
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, fsc_req && ca_in_testa);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
const bool cms_req = false; // ca_in_testa && ini.get_bool("CmsRequired"); // Ora gestisco il REQUIRED da codcms_handler
|
_fsc_end = dlg + insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, false) - 1;
|
||||||
insert_anal_fields(*this, newpage, LF_COMMESSE, y, dlg, dlgd, cms_req, F_CONTSEP);
|
set_field_handler(_fsc_end, codfase_handler);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
insert_anal_fields(*this, newpage, LF_COMMESSE, y, dlg, dlgd, false, F_CONTSEP);
|
||||||
set_field_handler(_cms_end, codcms_handler);
|
set_field_handler(_cms_end, codcms_handler);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (use_fsc && fasinfo.parent() <= 0)
|
if (use_fsc && fasinfo.parent() <= 0)
|
||||||
insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, fsc_req && doc().tipo().head_ca_required());
|
{
|
||||||
|
_fsc_end = insert_anal_fields(*this, newpage, LF_FASI, y, dlg, dlgd, false);
|
||||||
|
set_field_handler(_fsc_end, codfase_handler);
|
||||||
|
}
|
||||||
|
|
||||||
//aggiunge campi per date di competenza (inizio e fine)
|
//aggiunge campi per date di competenza (inizio e fine)
|
||||||
add_static(DLG_NULL, newpage, TR("@bDate di competenza"), 2, y);
|
add_static(DLG_NULL, newpage, TR("@bDate di competenza"), 2, y);
|
||||||
@ -3598,7 +3602,7 @@ bool TElabora_mask::elabora()
|
|||||||
set(F_CODNUM_ELAB, num_in);
|
set(F_CODNUM_ELAB, num_in);
|
||||||
set(F_NDOC_ELAB, "");
|
set(F_NDOC_ELAB, "");
|
||||||
set(F_NUMDOCRIF_ELAB, "");
|
set(F_NUMDOCRIF_ELAB, "");
|
||||||
((TDocumento_mask *)_main)->set_focus_field(F_SHEET);
|
((TDocumento_mask *)_main)->set_focus_field(F_LBTIPORIGA);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Azzera l'anno in caso di ordini
|
// Azzera l'anno in caso di ordini
|
||||||
|
@ -2920,6 +2920,41 @@ bool cdc_mag_handler(TMask_field& f, KEY key)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool codfase_handler(TMask_field& f, KEY key)
|
||||||
|
{
|
||||||
|
TDocumento_mask& mask = (TDocumento_mask&)f.mask();
|
||||||
|
|
||||||
|
if (f.to_check(key, true) && f.dlg() == mask.fsc_end())
|
||||||
|
{
|
||||||
|
mask.mask2doc();
|
||||||
|
|
||||||
|
TDocumento& doc = mask.doc();
|
||||||
|
TConfig& ini = ca_config();
|
||||||
|
const bool req = doc.valid() && ini.get_bool("FscRequired");
|
||||||
|
|
||||||
|
if (req && f.empty())
|
||||||
|
return f.error_box(TR("La fase è obbligatoria per questo tipo documento"));
|
||||||
|
}
|
||||||
|
return true; // Opera solo sull'ultimo livello del codice commessa
|
||||||
|
}
|
||||||
|
|
||||||
|
bool codcdc_handler(TMask_field& f, KEY key)
|
||||||
|
{
|
||||||
|
TDocumento_mask& mask = (TDocumento_mask&)f.mask();
|
||||||
|
|
||||||
|
if (f.to_check(key, true) && f.dlg() == mask.cdc_end())
|
||||||
|
{
|
||||||
|
mask.mask2doc();
|
||||||
|
|
||||||
|
TDocumento& doc = mask.doc();
|
||||||
|
const bool req = doc.valid() && doc.tipo().head_ca_required();
|
||||||
|
|
||||||
|
if (f.empty() && req)
|
||||||
|
return f.error_box(TR("Il centro di costo è obbligatorio per questo tipo documento"));
|
||||||
|
}
|
||||||
|
return true; // Opera solo sull'ultimo livello del codice commessa
|
||||||
|
}
|
||||||
|
|
||||||
bool codcms_handler(TMask_field& f, KEY key)
|
bool codcms_handler(TMask_field& f, KEY key)
|
||||||
{
|
{
|
||||||
if (!f.to_check(key, true))
|
if (!f.to_check(key, true))
|
||||||
@ -2928,11 +2963,12 @@ bool codcms_handler(TMask_field& f, KEY key)
|
|||||||
TDocumento_mask& mask = (TDocumento_mask&)f.mask();
|
TDocumento_mask& mask = (TDocumento_mask&)f.mask();
|
||||||
if (f.dlg() < mask.cms_end())
|
if (f.dlg() < mask.cms_end())
|
||||||
return true; // Opera solo sull'ultimo livello del codice commessa
|
return true; // Opera solo sull'ultimo livello del codice commessa
|
||||||
|
mask.mask2doc();
|
||||||
|
|
||||||
TDocumento& doc = mask.doc();
|
TDocumento& doc = mask.doc();
|
||||||
TSheet_field& sf = mask.sfield(F_SHEET);
|
TSheet_field& sf = mask.sfield(F_SHEET);
|
||||||
const bool req = !sf.empty() && doc.tipo().head_ca_required();
|
const bool req = doc.valid() && doc.tipo().head_ca_required();
|
||||||
f.check_type(req ? CHECK_REQUIRED : CHECK_NORMAL);
|
|
||||||
if (f.empty())
|
if (f.empty())
|
||||||
{
|
{
|
||||||
if (req)
|
if (req)
|
||||||
|
@ -43,6 +43,8 @@ bool sottocat_conai_handler(TMask_field& f, KEY key );
|
|||||||
bool datacomp_handler(TMask_field& f, KEY key);
|
bool datacomp_handler(TMask_field& f, KEY key);
|
||||||
bool datafcomp_handler(TMask_field& f, KEY key);
|
bool datafcomp_handler(TMask_field& f, KEY key);
|
||||||
|
|
||||||
|
bool codfase_handler(TMask_field &f, KEY key);
|
||||||
|
bool codcdc_handler(TMask_field &f, KEY key);
|
||||||
bool codcms_handler(TMask_field &f, KEY key);
|
bool codcms_handler(TMask_field &f, KEY key);
|
||||||
bool numdocrif_hndl(TMask_field& field, KEY key);
|
bool numdocrif_hndl(TMask_field& field, KEY key);
|
||||||
bool smart_hndl(TMask_field& field, KEY key);
|
bool smart_hndl(TMask_field& field, KEY key);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user