Patch level : 10.0 patch 326
Files correlati : lv0 Ricompilazione Demo : [ ] Commento : 0001340: dotazione temporanea sul contratto Descrizione sul contratto ho i campi delle dotazioni temporanee pieni per vecchi errori ma su alcune righe non riesco a cancellarli, solo se vado nel dettaglio della riga e li cancello da li. dalla videata principale invece cancello la riga, vado su quella successiva , ritorno su quela e le date ci sono ancora. Qualche volta invece funziona (molto poche) sulle 10 righe del cliente 6 ne ha cancellate 4 git-svn-id: svn://10.65.10.50/trunk@18979 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
be7b00e49a
commit
e46503969c
@ -126,7 +126,6 @@ bool TContratti_msk::on_art_select()
|
|||||||
rowmask.set(S_CONSMESE, consmonth);
|
rowmask.set(S_CONSMESE, consmonth);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//instanzio una cache sull'anagrafica di magazzino
|
//instanzio una cache sull'anagrafica di magazzino
|
||||||
//per leggere il valore di PPCONF corretto e sempre aggiornato
|
//per leggere il valore di PPCONF corretto e sempre aggiornato
|
||||||
const TRectype& anamag = cache().get(LF_ANAMAG, codart);
|
const TRectype& anamag = cache().get(LF_ANAMAG, codart);
|
||||||
@ -274,6 +273,8 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
|
|||||||
case F_NOLCICTE:
|
case F_NOLCICTE:
|
||||||
case F_VCARTCLITE:
|
case F_VCARTCLITE:
|
||||||
{
|
{
|
||||||
|
//copio il valore dei campi in questione della testata su tutte le righe se F_TIPOFORFTE è diverso da NESSUNO,
|
||||||
|
//altrimente lascio quello che c'è
|
||||||
const int tipoforfte = atoi(get(F_TIPOFORFTE));
|
const int tipoforfte = atoi(get(F_TIPOFORFTE));
|
||||||
if (e == fe_modify || e == fe_init)
|
if (e == fe_modify || e == fe_init)
|
||||||
{
|
{
|
||||||
@ -311,10 +312,6 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
|
|||||||
FOR_EACH_SHEET_ROW(ss, r, row)
|
FOR_EACH_SHEET_ROW(ss, r, row)
|
||||||
{
|
{
|
||||||
TToken_string& riga = ss.row(r);
|
TToken_string& riga = ss.row(r);
|
||||||
|
|
||||||
//riga.add(tipoforfte, pos_tipoforf);
|
|
||||||
//riga.add('I', pos_nolcic);
|
|
||||||
//riga.add('A', pos_vcartcli);
|
|
||||||
ss.enable_cell(r, pos_tipoforf);
|
ss.enable_cell(r, pos_tipoforf);
|
||||||
ss.enable_cell(r, pos_nolcic);
|
ss.enable_cell(r, pos_nolcic);
|
||||||
ss.enable_cell(r, pos_vcartcli);
|
ss.enable_cell(r, pos_vcartcli);
|
||||||
@ -413,8 +410,9 @@ bool TContratti_msk::on_field_event(TOperable_field& o,TField_event e,long jolly
|
|||||||
if (sel >= 0)
|
if (sel >= 0)
|
||||||
{
|
{
|
||||||
const short rowid = o.dlg() - 400;
|
const short rowid = o.dlg() - 400;
|
||||||
const int index = ss.cid2index(rowid);
|
const int index = ss.cid2index(rowid);
|
||||||
const TString& oldval = ss.sheet_mask().get(rowid);
|
|
||||||
|
const char* oldval = ss.row(sel).get(index);
|
||||||
const TString& newval = o.get();
|
const TString& newval = o.get();
|
||||||
if (newval != oldval)
|
if (newval != oldval)
|
||||||
{
|
{
|
||||||
@ -524,36 +522,39 @@ void TContratti_app::save_rows(const TMask& m)
|
|||||||
fr->write(row->get(pos), file.curr());
|
fr->write(row->get(pos), file.curr());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
file.rewrite_write();
|
|
||||||
|
|
||||||
//leggo il codart
|
//leggo il codart
|
||||||
const TString80 codart = row->get(righe.cid2index(S_CODART));
|
const TString80 codart = row->get(righe.cid2index(S_CODART));
|
||||||
//se il codart è pieno e le quantità sono modificabili (da configurazione)
|
if (codart.full())
|
||||||
if (codart.full() && ini_get_string(CONFIG_DITTA, "lv", "Qtamodi") == "X")
|
|
||||||
{
|
{
|
||||||
TArticolo_lavanderie& artrec = cached_article_laundry(codart, 'C', clifo, indsp);
|
file.rewrite_write();
|
||||||
TRecmag_lavanderie& reclav = (TRecmag_lavanderie&)artrec.find_rec(year);
|
//se il codart è pieno e le quantità sono modificabili (da configurazione)
|
||||||
|
if (ini_get_string(CONFIG_DITTA, "lv", "Qtamodi") == "X")
|
||||||
//gestione LF_CLIFOGIAC
|
|
||||||
if(!reclav.empty())
|
|
||||||
{
|
{
|
||||||
//riscrivo la dotazione iniziale convertita nell'unità di misura principale
|
TArticolo_lavanderie& artrec = cached_article_laundry(codart, 'C', clifo, indsp);
|
||||||
const real dotin = row->get(righe.cid2index(S_DOTIN));
|
TRecmag_lavanderie& reclav = (TRecmag_lavanderie&)artrec.find_rec(year);
|
||||||
reclav.put(CLIFOGIAC_DOTIN, dotin);
|
|
||||||
|
|
||||||
//riscrivo la dotazione odierna convertita nell'unità di misura principale
|
|
||||||
const real dotod = row->get(righe.cid2index(S_DOTOD));
|
|
||||||
reclav.put(CLIFOGIAC_DOTOD, dotod);
|
|
||||||
|
|
||||||
//riscrivo la dotazione temporanea convertita nell'unità di misura principale
|
|
||||||
const real dottm = row->get(righe.cid2index(S_DOTTMP));
|
|
||||||
reclav.put(CLIFOGIAC_DOTTM, dottm);
|
|
||||||
|
|
||||||
//riscrivo il consegnato anno convertito nell'unità di misura principale
|
//gestione LF_CLIFOGIAC
|
||||||
const real conan = row->get(righe.cid2index(S_CONSANNO));
|
if(!reclav.empty())
|
||||||
reclav.put(CLIFOGIAC_CONSANNO, conan);
|
{
|
||||||
|
//riscrivo la dotazione iniziale convertita nell'unità di misura principale
|
||||||
|
const real dotin = row->get(righe.cid2index(S_DOTIN));
|
||||||
|
reclav.put(CLIFOGIAC_DOTIN, dotin);
|
||||||
|
|
||||||
|
//riscrivo la dotazione odierna convertita nell'unità di misura principale
|
||||||
|
const real dotod = row->get(righe.cid2index(S_DOTOD));
|
||||||
|
reclav.put(CLIFOGIAC_DOTOD, dotod);
|
||||||
|
|
||||||
|
//riscrivo la dotazione temporanea convertita nell'unità di misura principale
|
||||||
|
const real dottm = row->get(righe.cid2index(S_DOTTMP));
|
||||||
|
reclav.put(CLIFOGIAC_DOTTM, dottm);
|
||||||
|
|
||||||
reclav.rewrite_write(magcli);
|
//riscrivo il consegnato anno convertito nell'unità di misura principale
|
||||||
|
const real conan = row->get(righe.cid2index(S_CONSANNO));
|
||||||
|
reclav.put(CLIFOGIAC_CONSANNO, conan);
|
||||||
|
|
||||||
|
reclav.rewrite_write(magcli);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} //fine FOR_EACH_ROW
|
} //fine FOR_EACH_ROW
|
||||||
@ -636,7 +637,6 @@ bool TContratti_app:: get_next_key(TToken_string& key)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//READ: ridefinizione del metodo read() delle TRealtion_application
|
//READ: ridefinizione del metodo read() delle TRealtion_application
|
||||||
//AGGIUNGERE LA CONVERSIONE
|
|
||||||
int TContratti_app::read(TMask& m)
|
int TContratti_app::read(TMask& m)
|
||||||
{
|
{
|
||||||
//eseguo la read() standard
|
//eseguo la read() standard
|
||||||
|
Loading…
x
Reference in New Issue
Block a user