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);
|
||||
}
|
||||
|
||||
|
||||
//instanzio una cache sull'anagrafica di magazzino
|
||||
//per leggere il valore di PPCONF corretto e sempre aggiornato
|
||||
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_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));
|
||||
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)
|
||||
{
|
||||
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_nolcic);
|
||||
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)
|
||||
{
|
||||
const short rowid = o.dlg() - 400;
|
||||
const int index = ss.cid2index(rowid);
|
||||
const TString& oldval = ss.sheet_mask().get(rowid);
|
||||
const int index = ss.cid2index(rowid);
|
||||
|
||||
const char* oldval = ss.row(sel).get(index);
|
||||
const TString& newval = o.get();
|
||||
if (newval != oldval)
|
||||
{
|
||||
@ -524,36 +522,39 @@ void TContratti_app::save_rows(const TMask& m)
|
||||
fr->write(row->get(pos), file.curr());
|
||||
}
|
||||
}
|
||||
file.rewrite_write();
|
||||
|
||||
//leggo il codart
|
||||
const TString80 codart = row->get(righe.cid2index(S_CODART));
|
||||
//se il codart è pieno e le quantità sono modificabili (da configurazione)
|
||||
if (codart.full() && ini_get_string(CONFIG_DITTA, "lv", "Qtamodi") == "X")
|
||||
if (codart.full())
|
||||
{
|
||||
TArticolo_lavanderie& artrec = cached_article_laundry(codart, 'C', clifo, indsp);
|
||||
TRecmag_lavanderie& reclav = (TRecmag_lavanderie&)artrec.find_rec(year);
|
||||
|
||||
//gestione LF_CLIFOGIAC
|
||||
if(!reclav.empty())
|
||||
file.rewrite_write();
|
||||
//se il codart è pieno e le quantità sono modificabili (da configurazione)
|
||||
if (ini_get_string(CONFIG_DITTA, "lv", "Qtamodi") == "X")
|
||||
{
|
||||
//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);
|
||||
TArticolo_lavanderie& artrec = cached_article_laundry(codart, 'C', clifo, indsp);
|
||||
TRecmag_lavanderie& reclav = (TRecmag_lavanderie&)artrec.find_rec(year);
|
||||
|
||||
//riscrivo il consegnato anno convertito nell'unità di misura principale
|
||||
const real conan = row->get(righe.cid2index(S_CONSANNO));
|
||||
reclav.put(CLIFOGIAC_CONSANNO, conan);
|
||||
//gestione LF_CLIFOGIAC
|
||||
if(!reclav.empty())
|
||||
{
|
||||
//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
|
||||
@ -636,7 +637,6 @@ bool TContratti_app:: get_next_key(TToken_string& key)
|
||||
}
|
||||
|
||||
//READ: ridefinizione del metodo read() delle TRealtion_application
|
||||
//AGGIUNGERE LA CONVERSIONE
|
||||
int TContratti_app::read(TMask& m)
|
||||
{
|
||||
//eseguo la read() standard
|
||||
|
Loading…
x
Reference in New Issue
Block a user