Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : compare la lista dei figli con ricarichi annessi git-svn-id: svn://10.65.10.50/trunk@19368 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1c6584e817
commit
e928947b52
@ -34,10 +34,49 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even
|
||||
case F_GRMERC:
|
||||
case F_SOTGRMERC:
|
||||
//una volta selezionati grmerc/sotgrmerc riempie la colonna ricarico dello sheet
|
||||
if (e == fe_close)
|
||||
if (e == fe_modify)
|
||||
{
|
||||
TString8 grmerc;
|
||||
grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC));
|
||||
const TRectype& rec_gmc = cache().get("GMC", grmerc);
|
||||
TToken_string lista_listini(rec_gmc.get("S1"), ';');
|
||||
//se trova qualcosa nella lista listini collegati al grmerc...
|
||||
if (lista_listini.full())
|
||||
{
|
||||
lista_listini.trim();
|
||||
//se la lista di listini riempie il campo S1, magari continua in S2...
|
||||
if (lista_listini.len() == 70)
|
||||
{
|
||||
lista_listini.add(rec_gmc.get("S2"));
|
||||
lista_listini.trim();
|
||||
}
|
||||
//cerca se i listini trovati in GMC ci sono anche nello sheet dei figli
|
||||
TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI);
|
||||
const int righe_sheet = sf_righe.items();
|
||||
|
||||
FOR_EACH_STR_TOKEN(lista_listini, str)
|
||||
{
|
||||
//controlla se il listino in grmerc (chiave) esiste in una delle righe dello sheet dei figli
|
||||
TToken_string chiave = lista_listini.get();
|
||||
TString4 catven = chiave.get(0);
|
||||
catven.trim();
|
||||
TString4 codlis = chiave.get(1);
|
||||
codlis.trim();
|
||||
for (int i = 0; i < righe_sheet; i++)
|
||||
{
|
||||
TToken_string& row = sf_righe.row(i);
|
||||
TString4 sh_catven = row.get(0);
|
||||
sh_catven.trim();
|
||||
TString4 sh_codlis = row.get(1);
|
||||
sh_codlis.trim();
|
||||
//se incredibilmente trova il listino di grmerc tra i figli prigionieri nello sheet setta il ricarico
|
||||
if (catven == sh_catven && codlis == sh_codlis)
|
||||
row.add(chiave.get(2), 2);
|
||||
|
||||
} //for(int i...
|
||||
} //FOR_EACH_STR_TOKEN
|
||||
sf_righe.force_update();
|
||||
} //if(lista_listini.full...
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -54,6 +93,12 @@ TAggiorna_listini_edit_mask::TAggiorna_listini_edit_mask(TMask* query_mask)
|
||||
set(F_FATHDESVEN, _query_mask->get(F_FATHDESVEN));
|
||||
set(F_FATHCODLIS, _query_mask->get(F_FATHCODLIS));
|
||||
set(F_FATHDESLIS, _query_mask->get(F_FATHDESLIS));
|
||||
|
||||
//disabilita se necessario la colonna della categoria di vendita (lo sheet serve comunque dopo!)
|
||||
TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI);
|
||||
sf_righe.destroy();
|
||||
sf_righe.enable_column(F_CATVEN, ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV"));
|
||||
|
||||
//aggiorna sheet con i listini figli
|
||||
TString query;
|
||||
query << "USE CONDV\n";
|
||||
@ -67,11 +112,6 @@ TAggiorna_listini_edit_mask::TAggiorna_listini_edit_mask(TMask* query_mask)
|
||||
|
||||
const TRectype& rec = recset_figli.cursor()->curr();
|
||||
|
||||
//recupero sheet e realtiva mashera di riga
|
||||
TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI);
|
||||
TMask& msk = sf_righe.sheet_mask();
|
||||
sf_righe.destroy();
|
||||
|
||||
//per ogni riga del recordset va ad aggiornare lo sheet sulla maschera (aggiunge la riga)
|
||||
for (bool ok = recset_figli.move_first(); ok; ok = recset_figli.move_next())
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user