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);
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())
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();
@ -2935,14 +2936,16 @@ bool codfase_handler(TMask_field& f, KEY key)
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
return true;
}
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())
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();
@ -2952,17 +2955,17 @@ bool codcdc_handler(TMask_field& f, KEY key)
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
return true;
}
bool codcms_handler(TMask_field& f, KEY key)
{
if (!f.to_check(key, true))
return true;
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();
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);
}
}
key.cut(0);
key.add(codcms);
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));
}
} //if (main_app().has_module(CTAUT) && (...
}
//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))
@ -3122,7 +3125,6 @@ bool codcms_handler(TMask_field& f, KEY key)
if (key == K_TAB && !mask.is_running())
mask.codcms() = mask.doc().get(DOC_CODCMS);
}
return true;
}
@ -3401,11 +3403,7 @@ bool datafcomp_handler(TMask_field& f, KEY key)
// Gestione note articolo
///////////////////////////////////////////////////////////
#if 0 && (_MSC_VER > 1300) // Dalla versione 10.x
#define NAR_TABLE "&VENAR"
#else // Versione 3.x
#define NAR_TABLE "NAR"
#endif
class TNar_mask : public TAutomask
{