Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@22223 c028cbd2-c16b-5b4b-a496-9718f37d4682
154 lines
3.5 KiB
C++
Executable File
154 lines
3.5 KiB
C++
Executable File
// gestione tabelle di modulo hardy
|
|
|
|
#include <automask.h>
|
|
#include <modtbapp.h>
|
|
#include <recset.h>
|
|
#include <tabutil.h>
|
|
|
|
#include "halib.h"
|
|
|
|
#include "hatbatt.h"
|
|
#include "hatbcau.h"
|
|
#include "hatbcel.h"
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// Maschera generica di gestione tabelle hardy
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class THA_table_mask : public TAutomask
|
|
{
|
|
protected:
|
|
virtual bool on_field_event(TOperable_field &o, TField_event e, long jolly);
|
|
|
|
public:
|
|
THA_table_mask(const char* name) : TAutomask(name) {}
|
|
};
|
|
|
|
bool THA_table_mask::on_field_event(TOperable_field &o, TField_event e, long jolly)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// Applicazione generica di gestione tabelle hardy
|
|
///////////////////////////////////////////////////////////
|
|
|
|
// applicazione per la gestione delle tabelle di lavanderia
|
|
class THA_table_app : public TTable_module_application
|
|
{
|
|
protected: // TRelation_application
|
|
virtual bool protected_record(TRectype& record);
|
|
virtual void init_query_mode(TMask& m);
|
|
virtual void init_query_insert_mode(TMask& m);
|
|
virtual void init_insert_mode(TMask& m);
|
|
virtual void init_modify_mode(TMask& m);
|
|
|
|
virtual bool get_next_key(TToken_string& key);
|
|
};
|
|
|
|
|
|
bool THA_table_app::get_next_key(TToken_string& key)
|
|
{
|
|
//casino per la tabella attrezzature "&ATT"
|
|
const TString4 name = get_relation()->file(0).name();
|
|
if (name == "ATT")
|
|
{
|
|
const TString& codart = curr_mask().get(F_CODART);
|
|
if (codart.full())
|
|
{
|
|
const TString& codtab = hd_get_next_att_key(codart);
|
|
|
|
//riempie la token_string con i dati richiesti
|
|
key.add(F_CODART);
|
|
key.add(codart);
|
|
key.add(F_PROGRESSIVO);
|
|
key.add(codtab.mid(5));
|
|
}
|
|
return true;
|
|
}
|
|
|
|
return TTable_module_application::get_next_key(key);
|
|
}
|
|
|
|
bool THA_table_app::protected_record(TRectype& record)
|
|
{
|
|
const TString4 name = get_relation()->file(0).name();
|
|
|
|
//tabella delle attrezzature
|
|
//non si può eliminare una attrezzatura se la medesima ha una storia! rispettiamo gli anziani!
|
|
if (name == "ATT")
|
|
{
|
|
//controlla che l'attrezzatura non abbia record nella tabella della storia attrezzature
|
|
TString query;
|
|
query << "USE &HIS";
|
|
query << "\nFROM CODTAB=#CODATTR";
|
|
query << "\nTO CODTAB=#CODATTR";
|
|
|
|
const TString codattr = record.get("CODTAB");
|
|
|
|
TISAM_recordset attr_recset(query);
|
|
attr_recset.set_var("#CODATTR", codattr);
|
|
|
|
const long items = attr_recset.items();
|
|
return items > 0;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
void THA_table_app::init_insert_mode(TMask& m)
|
|
{
|
|
const TString4 name = get_relation()->file(0).name();
|
|
if (name == "ATT")
|
|
{
|
|
m.hide(-2);
|
|
m.show(-1);
|
|
}
|
|
}
|
|
|
|
void THA_table_app::init_modify_mode(TMask& m)
|
|
{
|
|
const TString4 name = get_relation()->file(0).name();
|
|
if (name == "ATT")
|
|
{
|
|
m.hide(-2);
|
|
m.show(-1);
|
|
}
|
|
}
|
|
|
|
void THA_table_app::init_query_mode(TMask& m)
|
|
{
|
|
const TString4 name = get_relation()->file(0).name();
|
|
if (name == "CEL")
|
|
{
|
|
m.hide(F_CODCLI1);
|
|
m.show(F_CODCLI);
|
|
}
|
|
if (name == "ATT") //inizialmente vedo il gruppo 2 di SEARCH e non quello 1 di NEW
|
|
{
|
|
m.hide(-1);
|
|
m.show(-2);
|
|
}
|
|
}
|
|
|
|
void THA_table_app::init_query_insert_mode(TMask& m)
|
|
{
|
|
const TString4 name = get_relation()->file(0).name();
|
|
if (name == "CEL")
|
|
{
|
|
m.hide(F_CODCLI);
|
|
m.show(F_CODCLI1);
|
|
}
|
|
if (name == "ATT")
|
|
{
|
|
m.hide(-2); //in caso di 'nuovo' vedo il gruppo di NEW
|
|
m.show(-1);
|
|
}
|
|
}
|
|
|
|
int ha0100(int argc, char* argv[])
|
|
{
|
|
THA_table_app a;
|
|
a.run(argc, argv, TR("Tabella Caffe' Hardy"));
|
|
return 0;
|
|
}
|