Adattata autosave

git-svn-id: svn://10.65.10.50/trunk@2785 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-05-08 14:09:50 +00:00
parent edf71af3d7
commit d2e6f2d15e
4 changed files with 22 additions and 58 deletions

View File

@ -23,42 +23,11 @@ TPrimanota_application::TPrimanota_application()
TMask* TPrimanota_application::load_mask(int n)
{
int max_pages = 2; // Numero massimo di pagine della maschera
if (n == 2)
{
if (is_fattura())
max_pages = 3;
if (_msk[2] != NULL)
{
// Controlla se esiste pagina 3
const int pages = (_msk[2]->id2pos(FS_RATESHEET) > 0) ? 3 : 2;
// Se i numeri di pagine non coincidono distruggi la maschera
if (pages != max_pages)
{
delete _msk[2];
_msk[2] = NULL;
}
}
}
if (_msk[n] != NULL)
return _msk[n];
if (n == 1 || n == 2)
{
for (int i = 3; i >= 0; i--)
{
if (_msk[i] != NULL)
{
delete _msk[i];
_msk[i] = NULL;
}
}
}
TFilename name("cg2100"); name << char(n == 3 ? 'o' : 'a'+n);
TMask* m = new TMask(name, 0, max_pages);
TMask* m = new TMask(name);
switch (n)
{
@ -164,7 +133,6 @@ TMask* TPrimanota_application::load_mask(int n)
cgm.set_handler(213, sheet_clifo_handler);
cgm.set_handler(313, sheet_clifo_handler);
}
_sheet_shown = FALSE;
break;
case 3:
m->set_handler(O_CODICE, occas_code_handler);
@ -378,14 +346,6 @@ bool TPrimanota_application::changing_mask(int mode)
if (mode == MODE_QUERY)
{
const bool flag = _mode != MODE_QUERY;
#if XVT_OS == XVT_OS_WIN
if (flag && !_sheet_shown)
{
curr_mask().show_page(1);
do_events();
_sheet_shown = TRUE;
}
#endif
return flag;
}
_iva = iva_errata;
@ -472,19 +432,19 @@ void TPrimanota_application::init_mask(TMask& m)
}
else
{
char clig, forg;
bool clig, forg;
if (_iva == iva_acquisti)
{
forg = 's';
clig = 'h';
forg = TRUE;
clig = FALSE;
}
else
{
forg = 'h';
clig = corrisp ? 'h' : 's';
}
m.send_key(K_SHIFT+K_CTRL+clig, -1); // GROUP 1 (clienti)
m.send_key(K_SHIFT+K_CTRL+forg, -2); // GROUP 2 (fornitori)
forg = FALSE;
clig = corrisp ? FALSE : TRUE;
}
m.show(-1, clig);
m.show(-2, forg);
if (corrisp) m.hide(F_STATOPAIV);
// Show/Hide campi valuta: F_VALUTAINTRA, F_CAMBIOINTRA, F_CORRLIRE, F_CORRVAL (GROUP 4)
@ -650,7 +610,7 @@ bool TPrimanota_application::test_swap(bool ritsoc)
int TPrimanota_application::read(TMask& m)
{
m.reset(); // Azzera campi e relativi dirty = 3
m.autoload(_rel); // Carica testata
m.autoload(*_rel); // Carica testata
const long numreg = _rel->curr().get_long(MOV_NUMREG);
@ -763,7 +723,7 @@ int TPrimanota_application::read(TMask& m)
// Trasferisce i dati da maschera a movimento di prima nota
void TPrimanota_application::mask2rel(const TMask& m)
{
m.autosave(_rel);
m.autosave(*_rel);
TRectype& rec = _rel->curr(); // Record della testata
@ -847,7 +807,7 @@ void TPrimanota_application::mask2rel(const TMask& m)
{
TRelation occas(LF_OCCAS);
const TMask& om = occas_mask();
om.autosave(&occas); // Salva i dati anagrafici
om.autosave(occas); // Salva i dati anagrafici
err = occas.write();
if (err == _isreinsert)
@ -1136,7 +1096,7 @@ void TPrimanota_application::genera_incasso(const char* causimm)
TMovimentoPN inc; // Nuovo movimento di incasso immediato
TRectype& curr = inc.curr();
curr.zero();
m.autosave(&inc);
m.autosave(inc);
curr.put("TIPODOC", caus.tipo_doc()); // Tipo documento
curr.put("REG", caus.reg().name()); // Registro

View File

@ -5,7 +5,7 @@ TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 20
PAGE "Testata" -1 -1 77 20
BOOLEAN F_REGST
BEGIN

View File

@ -1577,6 +1577,7 @@ bool TPrimanota_application::num_handler(TMask_field& f, KEY key)
m.set(F_DATAREG, mov.get("DATAREG"), TRUE);
m.set(F_DATACOMP, mov.get("DATACOMP"), TRUE);
m.set(F_CODCAUS, mov.get("CODCAUS"));
f.set_focusdirty(FALSE);
m.stop_run(K_AUTO_ENTER);
}
}
@ -1608,7 +1609,10 @@ bool TPrimanota_application::caus_query_handler(TMask_field& f, KEY key)
{
const bool ok = suspended_handler(f, key); // Controlla sospensione
if (ok && key == K_TAB)
{
f.set_focusdirty(FALSE);
f.mask().stop_run(K_INS); // Entra in modo inserimento
}
}
else
return FALSE;
@ -1862,7 +1866,7 @@ bool TPrimanota_application::occas_code_handler(TMask_field& f, KEY key)
if (occas.read(_isequal) == NOERR)
{
TMask& m = f.mask();
m.autoload(&occas);
m.autoload(occas);
m.send_key(K_TAB, O_COMUNE); // Forza decodifica comuni
m.send_key(K_TAB, O_COMUNENAS);
}

View File

@ -232,7 +232,7 @@ void TPay_mask::set_pag(const TRectype& oldpag, const TRiga_scadenze& scad,
rel.add(LF_PARTITE, "ANNO=ANNO|NUMPART=NUMPART");
rel.curr() = oldpag;
rel.curr(LF_PARTITE) = sum;
autoload(&rel); // Load current record on mask
autoload(rel); // Load current record on mask
TMask_field& group = field(S_RATA);
TString prompt(80);
@ -358,7 +358,7 @@ void TPay_mask::get_pag(TRectype& newpag, TRectype& sum) const
rel.add(LF_PARTITE, "ANNO=ANNO|NUMPART=NUMPART");
rel.curr() = newpag;
rel.curr(LF_PARTITE) = sum;
autosave(&rel); // Load current record from mask
autosave(rel); // Load current record from mask
newpag = rel.curr();
sum = rel.curr(LF_PARTITE);
}
@ -1810,7 +1810,7 @@ bool TPrimanota_application::edit_partite(const TMask& m, int riga)
b.add_to(cgs().row(riga), 3, 0x0);
TMovimentoPN* pn = (TMovimentoPN*)get_relation();
curr_mask().autosave(pn); // Aggiorna i dati della testata sulle partite
curr_mask().autosave(*pn); // Aggiorna i dati della testata sulle partite
partite().update_reg(pn->curr());
// Esecuzione maschera di selezione partite