Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@21946 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
57acddff0a
commit
037c8daa3a
@ -179,6 +179,7 @@ bool TCoffee_tree::select_attr(const TString& codart, const TString& matricola)
|
||||
return found;
|
||||
}
|
||||
|
||||
|
||||
//////////////////////////////////////////////
|
||||
// Metodi static di ordinamento dello sheet
|
||||
//////////////////////////////////////////////
|
||||
@ -421,8 +422,8 @@ bool TGestione_attrezzature_mask::on_field_event(TOperable_field& o, TField_even
|
||||
case DLG_ADD_NEW:
|
||||
if (e == fe_button)
|
||||
{
|
||||
//per prima cosa deve controllare che siano pieni i campi chiave della tabella ttrezzature, senno' non puo'..
|
||||
//..aggiungere una cippa
|
||||
//1) per prima cosa deve controllare che siano pieni i campi chiave della tabella ttrezzature, senno' non puo'..
|
||||
//...aggiungere una cippa
|
||||
if (get(F_COD_ART).empty() || get(F_COD_MATR).empty())
|
||||
return warning_box(TR("E' necessario compilare articolo e matricola per aggiungere una nuova attrezzatura!"));
|
||||
|
||||
@ -430,18 +431,20 @@ bool TGestione_attrezzature_mask::on_field_event(TOperable_field& o, TField_even
|
||||
const TString& codart = get(F_COD_ART);
|
||||
const TString& matricola = get(F_COD_MATR);
|
||||
codtab.format("%-15s%-15s", (const char*)codart, (const char*)matricola);
|
||||
//se l'utonto tentasse di inserire come nuova un'attrezzatura già esistente va cazziato!
|
||||
//2) controllo effettiva "nuovezza" dell'attrezzatura..
|
||||
//...se l'utonto tentasse di inserire come nuova un'attrezzatura già esistente va cazziato!
|
||||
TModule_table tab_att("&ATT");
|
||||
tab_att.put("CODTAB", codtab);
|
||||
const int err = tab_att.read();
|
||||
if (err == NOERR)
|
||||
return warning_box(TR("L'attrezzatura con questa matricola esiste gia'!"));
|
||||
|
||||
//3) invio dati al gestore della tabella &ATT delle attrezzature tramite .ini
|
||||
TFilename trans_ini;
|
||||
trans_ini.temp(NULL, "ini");
|
||||
TString4 filenumber;
|
||||
filenumber << LF_TABMOD;
|
||||
//i config vanno chiusi senno' non si riescono ad usare
|
||||
//i config vanno chiusi tra {} senno' non si riescono ad usare
|
||||
{
|
||||
TConfig ini(trans_ini, "Transaction");
|
||||
ini.set("Action", "INSERT");
|
||||
@ -456,29 +459,35 @@ bool TGestione_attrezzature_mask::on_field_event(TOperable_field& o, TField_even
|
||||
cmd << "ha0 -0 &ATT /i" << trans_ini;
|
||||
TExternal_app app(cmd);
|
||||
|
||||
//lettura dell'ini di ritorno compilato
|
||||
//4) lettura dell'ini di ritorno compilato ed aggiornamento conseguente di tabella e maschera
|
||||
if (app.run() == NOERR)
|
||||
{
|
||||
//setta sulla maschera i valori di ritorno del .ini (riempiti dal gestore di &ATT)
|
||||
//4a) setta sulla maschera i valori di ritorno del .ini (riempiti dal gestore di &ATT)
|
||||
TConfig ini(trans_ini, "Transaction");
|
||||
if (ini.get("Result") == "OK")
|
||||
{
|
||||
ini.set_paragraph(filenumber);
|
||||
TString80 codtab = ini.get("CODTAB");
|
||||
codtab.strip("\""); //elimina eventuali " che vengono dall'ini
|
||||
set(F_COD_ART, codtab.left(5));
|
||||
set(F_COD_MATR, codtab.mid(15,15));
|
||||
const long codcf = ini.get_long("I0");
|
||||
set(F_CODCF, codcf);
|
||||
|
||||
const TDate data_storico = ini.get("D0");
|
||||
TSheet_field& sf = sfield(F_STORICO);
|
||||
TToken_string& row = sf.row(-1);
|
||||
row.add("C", sf.cid2index(S_TIPO));
|
||||
row.add(data_storico, sf.cid2index(S_DATA));
|
||||
row.add(codcf, sf.cid2index(S_CODCF));
|
||||
|
||||
sf.force_update();
|
||||
//4b) da file ini crea un record nuovo sulla tabella &HIS; se non lo facesse l'albero con le attrezzature non..
|
||||
//....potrebbe mai vedere la nuova attrezzatura aggiunta; sara' poi l'albero stesso ad occuparsi dello sheet
|
||||
TModule_table tab_his("&HIS");
|
||||
TString80 his_codtab = codtab;
|
||||
his_codtab << "00001"; //l'attrezzatura è nuova! deve essere il primo record
|
||||
tab_his.put("CODTAB", his_codtab);
|
||||
tab_his.put("I0", codcf);
|
||||
tab_his.put("D0", data_storico);
|
||||
int can_write = tab_his.write();
|
||||
if (can_write != NOERR)
|
||||
return warning_box(TR("Impossibile aggiungere l'attrezzatura! Risulta gia' presente."));
|
||||
|
||||
set(F_CODCF, codcf, true);
|
||||
set(F_COD_ART, codtab.left(5));
|
||||
set(F_COD_MATR, codtab.mid(15,15), true);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user