Patch level : 12.00 1370

Files correlati     : ve0.exe
Bug                 :

Commento:
L'obbigatorieta dei campi di analitica viene contrllata in fase di registrazione
This commit is contained in:
Alessandro Bonazzi 2025-02-04 21:11:58 +01:00
parent 4880af2699
commit 818d4ec7ae

View File

@ -2919,12 +2919,13 @@ bool cdc_mag_handler(TMask_field& f, KEY key)
ca_mag_handler(f); ca_mag_handler(f);
return true; return true;
} }
bool codfase_handler(TMask_field& f, KEY key) bool codfase_handler(TMask_field& f, KEY key)
{ {
TDocumento_mask& mask = (TDocumento_mask&)f.mask(); TDocumento_mask& mask = (TDocumento_mask&)f.mask();
if (f.to_check(key, true) && f.dlg() == mask.fsc_end()) if (key == K_TAB && f.focusdirty() && f.empty() && f.dlg() == mask.fsc_end()) // Opera solo sull'ultimo livello del codice fase
return true;
if ((f.running_check(key) || key == K_ENTER) && f.dlg() == mask.fsc_end()) // Opera solo sull'ultimo livello del codice fase
{ {
mask.mask2doc(); mask.mask2doc();
@ -2935,14 +2936,16 @@ bool codfase_handler(TMask_field& f, KEY key)
if (req && f.empty()) if (req && f.empty())
return f.error_box(TR("La fase è obbligatoria per questo tipo documento")); return f.error_box(TR("La fase è obbligatoria per questo tipo documento"));
} }
return true; // Opera solo sull'ultimo livello del codice commessa return true;
} }
bool codcdc_handler(TMask_field& f, KEY key) bool codcdc_handler(TMask_field& f, KEY key)
{ {
TDocumento_mask& mask = (TDocumento_mask&)f.mask(); TDocumento_mask& mask = (TDocumento_mask&)f.mask();
if (f.to_check(key, true) && f.dlg() == mask.cdc_end()) if (key == K_TAB && f.focusdirty() && f.empty() && f.dlg() == mask.cdc_end()) // Opera solo sull'ultimo livello del codice centro di costo
return true;
if ((f.running_check(key) || key == K_ENTER) && f.dlg() == mask.cdc_end()) // Opera solo sull'ultimo livello del codice centro di costo
{ {
mask.mask2doc(); mask.mask2doc();
@ -2952,17 +2955,17 @@ bool codcdc_handler(TMask_field& f, KEY key)
if (f.empty() && req) if (f.empty() && req)
return f.error_box(TR("Il centro di costo è obbligatorio per questo tipo documento")); return f.error_box(TR("Il centro di costo è obbligatorio per questo tipo documento"));
} }
return true; // Opera solo sull'ultimo livello del codice commessa return true;
} }
bool codcms_handler(TMask_field& f, KEY key) bool codcms_handler(TMask_field& f, KEY key)
{ {
if (!f.to_check(key, true))
return true;
TDocumento_mask& mask = (TDocumento_mask&)f.mask(); TDocumento_mask& mask = (TDocumento_mask&)f.mask();
if (f.dlg() < mask.cms_end())
return true; // Opera solo sull'ultimo livello del codice commessa if (key == K_TAB && f.focusdirty() && f.empty() && f.dlg() == mask.cms_end()) // Opera solo sull'ultimo livello del codice commessa
return true;
if ((f.running_check(key) || key == K_ENTER) && f.dlg() == mask.cms_end()) // Opera solo sull'ultimo livello del codice commessa
{
mask.mask2doc(); mask.mask2doc();
TDocumento& doc = mask.doc(); TDocumento& doc = mask.doc();
@ -3084,7 +3087,6 @@ bool codcms_handler(TMask_field& f, KEY key)
mask.set(F_CIG, cfcms1.get(CFCMS_CIG), 3); mask.set(F_CIG, cfcms1.get(CFCMS_CIG), 3);
} }
} }
key.cut(0); key.cut(0);
key.add(codcms); key.add(codcms);
key.add(mask.get(F_TIPOCF)); key.add(mask.get(F_TIPOCF));
@ -3108,6 +3110,7 @@ bool codcms_handler(TMask_field& f, KEY key)
mask.set(F_IBAN, cfban.get(CFBAN_IBAN)); mask.set(F_IBAN, cfban.get(CFBAN_IBAN));
} }
} //if (main_app().has_module(CTAUT) && (... } //if (main_app().has_module(CTAUT) && (...
}
//aggiornamento automatico del campo codice contabilita' separata nel caso di commessa che ce lo abbia //aggiornamento automatico del campo codice contabilita' separata nel caso di commessa che ce lo abbia
if (mask.id2pos(F_CONTSEP) >= 0 && main_app().has_module(NPAUT, CHK_DONGLE) && mask.get(F_CONTSEP).full() && f.running_check(key)) if (mask.id2pos(F_CONTSEP) >= 0 && main_app().has_module(NPAUT, CHK_DONGLE) && mask.get(F_CONTSEP).full() && f.running_check(key))
@ -3122,7 +3125,6 @@ bool codcms_handler(TMask_field& f, KEY key)
if (key == K_TAB && !mask.is_running()) if (key == K_TAB && !mask.is_running())
mask.codcms() = mask.doc().get(DOC_CODCMS); mask.codcms() = mask.doc().get(DOC_CODCMS);
} }
return true; return true;
} }
@ -3401,11 +3403,7 @@ bool datafcomp_handler(TMask_field& f, KEY key)
// Gestione note articolo // Gestione note articolo
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
#if 0 && (_MSC_VER > 1300) // Dalla versione 10.x
#define NAR_TABLE "&VENAR" #define NAR_TABLE "&VENAR"
#else // Versione 3.x
#define NAR_TABLE "NAR"
#endif
class TNar_mask : public TAutomask class TNar_mask : public TAutomask
{ {