Patch level : 10.0 378

Files correlati     : ca2.exe
Ricompilazione Demo : [ ]
Commento            :
Corretta proposta del centro di costo standard legato ad una commessa.
Ora il centro di costo viene proposto solo se compilato e soprattutto solo se i centri di costo vengono dopo le commesse in configurazione analitica


git-svn-id: svn://10.65.10.50/trunk@19120 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2009-07-16 13:26:56 +00:00
parent ceea912570
commit 6021703d11

View File

@ -517,33 +517,37 @@ bool TMovanal_msk::on_field_event(TOperable_field& o, TField_event e, long jolly
} }
if (e == se_notify_modify) if (e == se_notify_modify)
{ {
if (_cms_start > 0 && _cdc_start > 0) // Ho la gestione commesse al primo livello ed i centri di costo al secondo?
if (_cms_start > 0 && _cms_start < _cdc_start)
{ {
const int r = int(jolly); const int r = int(jolly);
TSheet_field & s = sfield(F_RIGHE); TSheet_field & s = sfield(F_RIGHE);
TMask & m = s.sheet_mask(); TMask & m = s.sheet_mask();
const TRectype & curr = ((TEdit_field &) m.field(_cms_start)).browse()->cursor()->curr(); const TRectype & curr = ((TEdit_field &) m.field(_cms_start)).browse()->cursor()->curr();
const TString & codcms = curr.get(COMMESSE_CODCMS); const TString & codcms = curr.get(COMMESSE_CODCMS);
// Cerco di proporre il centro di costo di default sulla commessa
if (__codcms != codcms) if (__codcms != codcms)
{ {
const TString codcosto = curr.get(COMMESSE_CODCOSTO); const TString codcosto = curr.get(COMMESSE_CODCOSTO);
for (short i = _cdc_start; i <= _cdc_end; i++) if (codcosto.full())
{ {
TEdit_field & e = m.efield(i); for (short i = _cdc_start; i <= _cdc_end; i++)
const TFieldref * f = e.field(); {
TEdit_field & e = m.efield(i);
const TFieldref * f = e.field();
if (f != NULL) if (f != NULL)
{ {
const int from = f->from(); const int from = f->from();
const int to = f->to(); const int to = f->to();
m.set(i, codcosto.sub(from, to), 0x2); m.set(i, codcosto.sub(from, to), 0x2);
s.update_row(r); s.update_row(r);
s.force_update(r); s.force_update(r);
} }
} }
} }
}
} }
} }
if (e == fe_close) if (e == fe_close)
@ -1131,6 +1135,6 @@ bool TMovanal_app::user_destroy()
int ca2100(int argc, char* argv[]) int ca2100(int argc, char* argv[])
{ {
TMovanal_app app; TMovanal_app app;
app.run(argc, argv, "Movimenti analitici"); app.run(argc, argv, TR("Movimenti analitici"));
return 0; return 0;
} }