campo-sirio/ps/pd6342500.cpp

114 lines
2.9 KiB
C++
Raw Normal View History

#include <defmask.h>
#include "pd6342500a.h"
#include "../ca/calib01.h"
#include "../ca/movana.h"
#include "../ca/rmovana.h"
#include "../ve/velib.h"
///////////////////////////////////////////////////////////
// TSaldi_ana_msk
///////////////////////////////////////////////////////////
class TSaldi_ana_msk: public TAutomask
{
short _first_cdc, _first_cms, _first_fase, _first_conto;
short _first_cdc_s, _first_cms_s, _first_fase_s, _first_conto_s;
protected:
void riempi_sheet();
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TSaldi_ana_msk();
};
void TSaldi_ana_msk::riempi_sheet()
{
TString80 cdc;
TString80 cms;
TString80 fase;
TString80 conto;
ca_get_fields(*this, cdc, cms, fase, conto, _first_cdc, _first_cms, _first_fase, _first_conto, "CdC", "Cms", "Fase", "Conto");
TString query;
query << "USE SALDANA\n"
<< "FROM ANNO=" << get_date(F_DADATA).year() << " CONTO=\"" << conto << "\" COSTO=\"" << cdc << "\" COMMESSA=\"" << cms << "\" FASE=\"" << fase << "\"\n"
<< "TO ANNO=" << get_date(F_ADATA).year() << " CONTO=\"" << conto << "\" COSTO=\"" << cdc << "\" COMMESSA=\"" << cms << "\" FASE=\"" << fase << "\"";
TISAM_recordset saldana(query);
}
bool TSaldi_ana_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch(o.dlg())
{
case DLG_FINDREC:
if(e == fe_button)
{
riempi_sheet();
return false;
}
break;
default: break;
}
return true;
}
TSaldi_ana_msk::TSaldi_ana_msk() : TAutomask("pd6342500a")
{
const TDate data(TODAY);
const TDate primo(1, 1, data.year());
set(F_DADATA, primo);
TConfig& cfg = ca_config();
const bool use_pdcc = cfg.get_bool("UsePdcc");
_first_cdc = _first_cms = _first_fase = _first_conto;
_first_cdc_s = _first_cms_s = _first_fase_s = _first_conto_s;
//sistema i campi degli sheet tenendo conto della configurazione dell'analitica
ca_create_fields_ext(*this, 0, 2, 7, F_CDC1, 0, _first_cdc, _first_cms, _first_fase, _first_conto, "CdC", "Cms", "Fase", "Conto");
TSheet_field& sheet = sfield(F_SHEET);
ca_create_fields_ext(sheet.sheet_mask(), 0, 2, 7, S_CDC1, 0, _first_cdc_s, _first_cms_s, _first_fase_s, _first_conto_s, "CdC", "Cms", "Fase", "Conto");
}
///////////////////////////////////////////////////////////
// TSaldi_ana_app
///////////////////////////////////////////////////////////
class TSaldi_ana_app: public TSkeleton_application
{
protected:
virtual bool check_autorization() const {return false;}
virtual const char * extra_modules() const {return "ca";}
virtual void main_loop();
void elabora();
};
void TSaldi_ana_app::elabora()
{
}
void TSaldi_ana_app::main_loop()
{
TSaldi_ana_msk m;
bool running = true;
while(m.run() == K_ENTER)
{
elabora();
}
}
int pd6342500(int argc, char* argv[])
{
TSaldi_ana_app app;
app.run(argc, argv, TR("Saldi Analitici"));
return 0;
}