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)
|
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)
|
if (_msk[n] != NULL)
|
||||||
return _msk[n];
|
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);
|
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)
|
switch (n)
|
||||||
{
|
{
|
||||||
@ -164,7 +133,6 @@ TMask* TPrimanota_application::load_mask(int n)
|
|||||||
cgm.set_handler(213, sheet_clifo_handler);
|
cgm.set_handler(213, sheet_clifo_handler);
|
||||||
cgm.set_handler(313, sheet_clifo_handler);
|
cgm.set_handler(313, sheet_clifo_handler);
|
||||||
}
|
}
|
||||||
_sheet_shown = FALSE;
|
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
m->set_handler(O_CODICE, occas_code_handler);
|
m->set_handler(O_CODICE, occas_code_handler);
|
||||||
@ -378,14 +346,6 @@ bool TPrimanota_application::changing_mask(int mode)
|
|||||||
if (mode == MODE_QUERY)
|
if (mode == MODE_QUERY)
|
||||||
{
|
{
|
||||||
const bool flag = _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;
|
return flag;
|
||||||
}
|
}
|
||||||
_iva = iva_errata;
|
_iva = iva_errata;
|
||||||
@ -472,19 +432,19 @@ void TPrimanota_application::init_mask(TMask& m)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
char clig, forg;
|
bool clig, forg;
|
||||||
if (_iva == iva_acquisti)
|
if (_iva == iva_acquisti)
|
||||||
{
|
{
|
||||||
forg = 's';
|
forg = TRUE;
|
||||||
clig = 'h';
|
clig = FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
forg = 'h';
|
forg = FALSE;
|
||||||
clig = corrisp ? 'h' : 's';
|
clig = corrisp ? FALSE : TRUE;
|
||||||
}
|
}
|
||||||
m.send_key(K_SHIFT+K_CTRL+clig, -1); // GROUP 1 (clienti)
|
m.show(-1, clig);
|
||||||
m.send_key(K_SHIFT+K_CTRL+forg, -2); // GROUP 2 (fornitori)
|
m.show(-2, forg);
|
||||||
if (corrisp) m.hide(F_STATOPAIV);
|
if (corrisp) m.hide(F_STATOPAIV);
|
||||||
|
|
||||||
// Show/Hide campi valuta: F_VALUTAINTRA, F_CAMBIOINTRA, F_CORRLIRE, F_CORRVAL (GROUP 4)
|
// 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)
|
int TPrimanota_application::read(TMask& m)
|
||||||
{
|
{
|
||||||
m.reset(); // Azzera campi e relativi dirty = 3
|
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);
|
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
|
// Trasferisce i dati da maschera a movimento di prima nota
|
||||||
void TPrimanota_application::mask2rel(const TMask& m)
|
void TPrimanota_application::mask2rel(const TMask& m)
|
||||||
{
|
{
|
||||||
m.autosave(_rel);
|
m.autosave(*_rel);
|
||||||
|
|
||||||
TRectype& rec = _rel->curr(); // Record della testata
|
TRectype& rec = _rel->curr(); // Record della testata
|
||||||
|
|
||||||
@ -847,7 +807,7 @@ void TPrimanota_application::mask2rel(const TMask& m)
|
|||||||
{
|
{
|
||||||
TRelation occas(LF_OCCAS);
|
TRelation occas(LF_OCCAS);
|
||||||
const TMask& om = occas_mask();
|
const TMask& om = occas_mask();
|
||||||
om.autosave(&occas); // Salva i dati anagrafici
|
om.autosave(occas); // Salva i dati anagrafici
|
||||||
|
|
||||||
err = occas.write();
|
err = occas.write();
|
||||||
if (err == _isreinsert)
|
if (err == _isreinsert)
|
||||||
@ -1136,7 +1096,7 @@ void TPrimanota_application::genera_incasso(const char* causimm)
|
|||||||
TMovimentoPN inc; // Nuovo movimento di incasso immediato
|
TMovimentoPN inc; // Nuovo movimento di incasso immediato
|
||||||
TRectype& curr = inc.curr();
|
TRectype& curr = inc.curr();
|
||||||
curr.zero();
|
curr.zero();
|
||||||
m.autosave(&inc);
|
m.autosave(inc);
|
||||||
|
|
||||||
curr.put("TIPODOC", caus.tipo_doc()); // Tipo documento
|
curr.put("TIPODOC", caus.tipo_doc()); // Tipo documento
|
||||||
curr.put("REG", caus.reg().name()); // Registro
|
curr.put("REG", caus.reg().name()); // Registro
|
||||||
|
@ -5,7 +5,7 @@ TOOLBAR "" 0 20 0 2
|
|||||||
#include <toolbar.h>
|
#include <toolbar.h>
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 20
|
PAGE "Testata" -1 -1 77 20
|
||||||
|
|
||||||
BOOLEAN F_REGST
|
BOOLEAN F_REGST
|
||||||
BEGIN
|
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_DATAREG, mov.get("DATAREG"), TRUE);
|
||||||
m.set(F_DATACOMP, mov.get("DATACOMP"), TRUE);
|
m.set(F_DATACOMP, mov.get("DATACOMP"), TRUE);
|
||||||
m.set(F_CODCAUS, mov.get("CODCAUS"));
|
m.set(F_CODCAUS, mov.get("CODCAUS"));
|
||||||
|
f.set_focusdirty(FALSE);
|
||||||
m.stop_run(K_AUTO_ENTER);
|
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
|
const bool ok = suspended_handler(f, key); // Controlla sospensione
|
||||||
if (ok && key == K_TAB)
|
if (ok && key == K_TAB)
|
||||||
|
{
|
||||||
|
f.set_focusdirty(FALSE);
|
||||||
f.mask().stop_run(K_INS); // Entra in modo inserimento
|
f.mask().stop_run(K_INS); // Entra in modo inserimento
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return FALSE;
|
return FALSE;
|
||||||
@ -1862,7 +1866,7 @@ bool TPrimanota_application::occas_code_handler(TMask_field& f, KEY key)
|
|||||||
if (occas.read(_isequal) == NOERR)
|
if (occas.read(_isequal) == NOERR)
|
||||||
{
|
{
|
||||||
TMask& m = f.mask();
|
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_COMUNE); // Forza decodifica comuni
|
||||||
m.send_key(K_TAB, O_COMUNENAS);
|
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.add(LF_PARTITE, "ANNO=ANNO|NUMPART=NUMPART");
|
||||||
rel.curr() = oldpag;
|
rel.curr() = oldpag;
|
||||||
rel.curr(LF_PARTITE) = sum;
|
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);
|
TMask_field& group = field(S_RATA);
|
||||||
TString prompt(80);
|
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.add(LF_PARTITE, "ANNO=ANNO|NUMPART=NUMPART");
|
||||||
rel.curr() = newpag;
|
rel.curr() = newpag;
|
||||||
rel.curr(LF_PARTITE) = sum;
|
rel.curr(LF_PARTITE) = sum;
|
||||||
autosave(&rel); // Load current record from mask
|
autosave(rel); // Load current record from mask
|
||||||
newpag = rel.curr();
|
newpag = rel.curr();
|
||||||
sum = rel.curr(LF_PARTITE);
|
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);
|
b.add_to(cgs().row(riga), 3, 0x0);
|
||||||
|
|
||||||
TMovimentoPN* pn = (TMovimentoPN*)get_relation();
|
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());
|
partite().update_reg(pn->curr());
|
||||||
|
|
||||||
// Esecuzione maschera di selezione partite
|
// Esecuzione maschera di selezione partite
|
||||||
|
Loading…
x
Reference in New Issue
Block a user