campo-sirio/m770/776200.cpp

92 lines
2.0 KiB
C++
Raw Normal View History

// 776200.cpp - Immissione nuova dichiarazione 770
#include <applicat.h>
#include <mask.h>
#include <relation.h>
#include <config.h>
#include <urldefid.h>
#include "776200a.h"
#include "77lib.h"
class TImmissioneDichiarazione : public TApplication
{
private:
TRelation* _rel;
TMask* _msk;
int _anno_dic;
protected:
virtual bool menu(MENU_TAG);
virtual void on_config_change();
virtual bool create();
virtual bool destroy();
bool do_it();
public:
TImmissioneDichiarazione() {}
~TImmissioneDichiarazione() {}
virtual bool firm_change_enabled() const;
};
bool TImmissioneDichiarazione::create()
{
TApplication::create();
_rel = new TRelation (LF_BASE);
_rel->add(LF_BASEBIS, "CODDITTA=CODDITTA");
_msk = new TMask ("776200a");
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TImmissioneDichiarazione::destroy()
{
delete _rel;
delete _msk;
return TApplication::destroy();
}
bool TImmissioneDichiarazione::do_it()
{
KEY tasto;
_msk->set(F_ANNODIC, _anno_dic);
_msk->open_modal();
while ((tasto = _msk->run()) != K_QUIT)
{
long codditta = _msk->get_long(F_CODDITTA);
if (exist_dichiar_770(codditta)) {
warning_box("La dichiarazione della ditta %ld esiste gia'", codditta);
continue;
}
if (enter_dichiar_770(codditta, _anno_dic))
message_box("Dichiarazione inserita");
}
_msk->close();
return tasto == K_ENTER;
}
bool TImmissioneDichiarazione::menu(MENU_TAG mt)
{
if (mt == BAR_ITEM(1))
return do_it();
return FALSE;
}
void TImmissioneDichiarazione::on_config_change()
{
TConfig conf(CONFIG_STUDIO);
_anno_dic = (int)conf.get_long(ANNO_SEL, NULL);
}
bool TImmissioneDichiarazione::firm_change_enabled() const
{
return FALSE;
}
int ImmissioneDichiarazioni(int argc, char* argv[])
{
TImmissioneDichiarazione app;
app.run(argc, argv, "Immissione dichiarazione");
return 0;
}