Errori aga031 aga030 aga028

Errori aga022 aga023 aga024 inseistenti


git-svn-id: svn://10.65.10.50/trunk@4358 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1997-05-21 10:55:09 +00:00
parent 5709efa071
commit 1c07c0b7b7
2 changed files with 57 additions and 12 deletions

View File

@ -3,7 +3,8 @@
#include <sheet.h>
#include <utility.h>
#include <lffiles.h>
#include <comuni.h>
#include <comuni.h>
#include "../ve/velib01.h"
#include "ef0.h"
#include "ef0100.h"
#include "ef0101.h"
@ -18,13 +19,14 @@ class TVariazione_effetti: public TRelation_application
TMask *_msk;
TEffetto *_effetto;
TRelation *_rel;
TLocalisamfile *_reff, *_cess, *_com;
TLocalisamfile *_reff, *_cess, *_com, * _doc, * _rdoc;
protected:
virtual void init_query_mode(TMask&);
virtual void init_insert_mode(TMask&);
static bool handle_sheet(TMask_field& f, KEY);
static bool codval_handler(TMask_field& f, KEY k);
static bool contab_handler(TMask_field& f, KEY k);
static bool fatt_handler(TMask_field& f, KEY k);
static bool impeff_notify(TSheet_field& s, int r, KEY key);
virtual const char* get_next_key();
TSheet_field& cess_sheet() const;
@ -197,6 +199,10 @@ int TVariazione_effetti::read(TMask& m)
}
items = _effetto->rows_r();
// carica tutte le righe dell'effetto nello sheet dal file
// TEdit_field & e = (TEdit_field &) shrighe.sheet_mask().field(F_NUMFATT);
// CheckType c = e.check_type();
// e.check_type(CHECK_REQUIRED);
for (i = 1; i <= items; i++)
{
const TRectype& rec = _effetto->row_r(i);
@ -214,8 +220,10 @@ int TVariazione_effetti::read(TMask& m)
riga.add(rec.get(REFF_NUMPART));
riga.add(rec.get(REFF_NRIGA));
riga.add(rec.get(REFF_NRATA));
shrighe.row(i-1) = riga;
shrighe.row(i - 1) = riga;
shrighe.check_row(i - 1);
}
// e.check_type(c);
}
}
return err;
@ -255,12 +263,15 @@ bool TVariazione_effetti::user_create()
_reff = new TLocalisamfile(LF_REFFETTI);
_cess = new TLocalisamfile(LF_CESS);
_com = new TLocalisamfile(LF_COMUNI);
_doc = new TLocalisamfile(LF_DOC);
_rdoc = new TLocalisamfile(LF_RIGHEDOC);
_effetto = new TEffetto;
_msk->set_handler(F_CODVAL, codval_handler);
_msk->set_handler(F_EFFCONT, contab_handler);
_msk->set_handler(F_SHEET_RIGHE, handle_sheet);
righe_sheet().set_append(TRUE);
righe_sheet().set_notify(impeff_notify);
((TSheet_field &) _msk->field(F_SHEET_RIGHE)).sheet_mask().set_handler(F_NUMFATT, fatt_handler);
return TRUE;
}
@ -273,6 +284,8 @@ bool TVariazione_effetti::user_destroy()
delete _reff;
delete _cess;
delete _com;
delete _doc;
delete _rdoc;
return TRUE;
}
@ -329,7 +342,7 @@ bool TVariazione_effetti::codval_handler(TMask_field& f, KEY k)
row.add(" ", sf.cid2index(F_IMPFATTVAL));
}
}
sf.enable_column(F_IMPFATTVAL, valuta);
// sf.enable_column(F_IMPFATTVAL, valuta);
sf.enable_column(F_IMPEFFVAL, valuta);
if (f.focusdirty())
sf.force_update();
@ -337,6 +350,44 @@ bool TVariazione_effetti::codval_handler(TMask_field& f, KEY k)
return TRUE;
}
// handler che permette il controllo sulla abilitazione dei campi collegati
// al codice valuta
bool TVariazione_effetti::fatt_handler(TMask_field& f, KEY k)
{
TMask &m = f.mask();
if (k == K_TAB && f.focusdirty() || !app().get_mask(MODE_MOD)->is_running())
{
TEdit_field & e = (TEdit_field &) f;
CheckType c = e.check_type();
e.check_type(CHECK_REQUIRED);
const bool ok = e.check();
e.check_type(c);
m.enable(F_DATAFATT, !ok);
m.enable(F_IMPFATT, !ok);
m.enable(F_IMPFATTVAL, !ok && app().get_mask(MODE_MOD)->get(F_CODVAL).not_empty());
if (app().get_mask(MODE_MOD)->is_running() && ok && k == K_TAB && f.focusdirty())
{
TDocumento d(e.browse()->cursor()->curr());
m.set(F_DATAFATT, d.get("DATADOC"));
const real imp = d.totale_doc();
if (d.in_valuta())
{
real lit = imp * d.get_real("CAMBIO");
lit.round(0);
m.set(F_IMPFATT, lit);
m.set(F_IMPFATTVAL, imp);
}
else
{
m.set(F_IMPFATT, imp);
m.reset(F_IMPFATTVAL);
}
}
}
return TRUE;
}
bool TVariazione_effetti::contab_handler(TMask_field& f, KEY k)
{
if (k == K_SPACE)
@ -391,12 +442,6 @@ bool TVariazione_effetti::impeff_notify(TSheet_field& s, int r, KEY key)
{
calcola_totali();
}
/* if (key == K_ENTER)
{
TToken_string& row = s.row(s.selected());
char tipo_num = row.get(sf.cid2index(F_PROVVF))[0];
}
*/
//se rimane una sola riga nello sheet non la si può cancellare
if (key == K_DEL && s.items() == 1)
{

View File

@ -377,13 +377,13 @@ END
BOOLEAN F_EFFCONT
BEGIN
PROMPT 1 19 "Effetto contabilizzato"
PROMPT 1 18 "Effetto contabilizzato"
FIELD EFFCONT
END
BOOLEAN F_EFFCOMP
BEGIN
PROMPT 42 19 "Effetto completato"
PROMPT 42 18 "Effetto completato"
FIELD EFFCOMP
END