Adattata autosave
git-svn-id: svn://10.65.10.50/trunk@2785 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
edf71af3d7
commit
d2e6f2d15e
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user