Aggiunti programmi di ricezione contabile
git-svn-id: svn://10.65.10.50/trunk@1165 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
6a9d1d2c3f
commit
02732528b6
12
cg/cg2.cpp
12
cg/cg2.cpp
@ -11,8 +11,18 @@ int main(int argc,char** argv)
|
|||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
cg2200(argc, argv); break;
|
cg2200(argc, argv); break;
|
||||||
|
case 2:
|
||||||
|
cg2300(argc, argv); break;
|
||||||
|
case 3:
|
||||||
|
cg2400(argc, argv); break;
|
||||||
|
case 5:
|
||||||
|
cg2600(argc, argv); break;
|
||||||
|
case 6:
|
||||||
|
cg2700(argc, argv); break;
|
||||||
|
case 7:
|
||||||
|
cg2800(argc, argv); break;
|
||||||
default:
|
default:
|
||||||
cg2100(argc,argv); break;
|
cg2100(argc, argv); break;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
5
cg/cg2.h
5
cg/cg2.h
@ -3,5 +3,10 @@
|
|||||||
|
|
||||||
int cg2100(int argc, char** argv);
|
int cg2100(int argc, char** argv);
|
||||||
int cg2200(int argc, char** argv);
|
int cg2200(int argc, char** argv);
|
||||||
|
int cg2300(int argc, char* argv[]);
|
||||||
|
int cg2400(int argc, char* argv[]);
|
||||||
|
int cg2600(int argc, char* argv[]);
|
||||||
|
int cg2700(int argc, char* argv[]);
|
||||||
|
int cg2800(int argc, char* argv[]);
|
||||||
|
|
||||||
#endif // __CG2_H
|
#endif // __CG2_H
|
||||||
|
33
cg/cg2.url
33
cg/cg2.url
@ -1,10 +1,39 @@
|
|||||||
#include <default.url>
|
#include <default.url>
|
||||||
|
|
||||||
MENU TASK_MENUBAR
|
MENU TASK_MENUBAR
|
||||||
SUBMENU MENU_FILE "~File"
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
MENUBAR MENU_BAR(1)
|
MENUBAR MENU_BAR(1)
|
||||||
|
|
||||||
MENU MENU_BAR(1)
|
MENU MENU_BAR(1)
|
||||||
SUBMENU MENU_FILE "~File"
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
|
MENUBAR MENU_BAR(2)
|
||||||
|
|
||||||
|
MENU MENU_BAR(2)
|
||||||
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
|
MENUBAR MENU_BAR(3)
|
||||||
|
|
||||||
|
MENU MENU_BAR(3)
|
||||||
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
|
MENUBAR MENU_BAR(4)
|
||||||
|
|
||||||
|
MENU MENU_BAR(4)
|
||||||
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
|
MENUBAR MENU_BAR(5)
|
||||||
|
|
||||||
|
MENU MENU_BAR(5)
|
||||||
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
|
MENUBAR MENU_BAR(6)
|
||||||
|
|
||||||
|
MENU MENU_BAR(6)
|
||||||
|
SUBMENU MENU_FILE "~File"
|
||||||
|
|
||||||
|
MENUBAR MENU_BAR(7)
|
||||||
|
|
||||||
|
MENU MENU_BAR(7)
|
||||||
|
SUBMENU MENU_FILE "~File"
|
||||||
|
103
cg/cg2300.cpp
Executable file
103
cg/cg2300.cpp
Executable file
@ -0,0 +1,103 @@
|
|||||||
|
|
||||||
|
#include <applicat.h>
|
||||||
|
#include <tabapp.h>
|
||||||
|
#include <strings.h>
|
||||||
|
#include <stdtypes.h>
|
||||||
|
#include <tabutil.h>
|
||||||
|
#include <utility.h>
|
||||||
|
#include <prefix.h>
|
||||||
|
|
||||||
|
#include "..\ba\batbtra.h"
|
||||||
|
|
||||||
|
class Tabtra_application : public Tab_application
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
TMask* _msk;
|
||||||
|
TString _tabname;
|
||||||
|
|
||||||
|
public:
|
||||||
|
bool user_create();
|
||||||
|
virtual void init_query_mode(TMask&);
|
||||||
|
virtual void init_modify_mode(TMask&);
|
||||||
|
virtual void init_insert_mode(TMask&);
|
||||||
|
|
||||||
|
Tabtra_application() {}
|
||||||
|
virtual ~Tabtra_application() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
HIDDEN inline Tabtra_application& app() {return (Tabtra_application&) main_app();}
|
||||||
|
|
||||||
|
HIDDEN bool ultimo_handler(TMask& m, KEY k)
|
||||||
|
{
|
||||||
|
if (k == K_SHIFT+K_F12)
|
||||||
|
{
|
||||||
|
m.enable(F_NUMULTRAS);
|
||||||
|
m.enable(F_DATAULTRAS);
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
HIDDEN bool ditta_handler(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
if (k == K_TAB)
|
||||||
|
{
|
||||||
|
long codditta = f.mask().get_long(F_CODDITTARIC);
|
||||||
|
|
||||||
|
if (codditta != 0)
|
||||||
|
{
|
||||||
|
if (prefhndl->exist(codditta))
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
f.error_box("La ditta selezionata non e' abilitata per la contabilita' ");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Tabtra_application::init_query_mode(TMask& m)
|
||||||
|
{
|
||||||
|
m.disable(F_NUMULTRAS);
|
||||||
|
m.disable(F_DATAULTRAS);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Tabtra_application::init_modify_mode(TMask& m)
|
||||||
|
{
|
||||||
|
m.disable(F_NUMULTRAS);
|
||||||
|
m.disable(F_DATAULTRAS);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Tabtra_application::init_insert_mode(TMask& m)
|
||||||
|
{
|
||||||
|
m.disable(F_NUMULTRAS);
|
||||||
|
m.disable(F_DATAULTRAS);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool Tabtra_application::user_create()
|
||||||
|
{
|
||||||
|
Tab_application::user_create();
|
||||||
|
|
||||||
|
_msk = get_mask();
|
||||||
|
_tabname = get_tabname();
|
||||||
|
|
||||||
|
if (_tabname == "%TRA")
|
||||||
|
{
|
||||||
|
_msk->set_handler(ultimo_handler);
|
||||||
|
_msk->set_handler(F_CODDITTARIC, ditta_handler);
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
cg2300(int argc, char* argv[])
|
||||||
|
{
|
||||||
|
Tabtra_application a;
|
||||||
|
|
||||||
|
a.run(argc,argv, "Tabelle");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
589
cg/cg2400.cpp
Executable file
589
cg/cg2400.cpp
Executable file
@ -0,0 +1,589 @@
|
|||||||
|
// Ricezione dati da sistema
|
||||||
|
|
||||||
|
#include <mask.h>
|
||||||
|
#include <printapp.h>
|
||||||
|
#include <relation.h>
|
||||||
|
#include <tabutil.h>
|
||||||
|
#include <utility.h>
|
||||||
|
#include <config.h>
|
||||||
|
#include <urldefid.h>
|
||||||
|
#include <mailbox.h>
|
||||||
|
#include <execp.h>
|
||||||
|
#include <prefix.h>
|
||||||
|
#include <scanner.h>
|
||||||
|
#include <nditte.h>
|
||||||
|
|
||||||
|
#include "cglib04.h"
|
||||||
|
|
||||||
|
//#include "ba7.h"
|
||||||
|
#include "cg2400.h"
|
||||||
|
|
||||||
|
TString80 TEMP;
|
||||||
|
|
||||||
|
|
||||||
|
class TRic_sistema : public TApplication
|
||||||
|
{
|
||||||
|
TTable* _tab_tra;
|
||||||
|
TTransfer_file* _tras_file;
|
||||||
|
|
||||||
|
int _numtotdisk,_progdisk,_numdisk,_numinv,_numinvp,_nultras;
|
||||||
|
int _stato_ripartenza,_nultras_tab;
|
||||||
|
bool _sequenza,_disketto;
|
||||||
|
bool _prima_volta,_baipassa;
|
||||||
|
TString _nomeid,_nomeidp,_marker,_trasf,_trasfer,_pathname,_ragsoc_dittar;
|
||||||
|
long _dittainv,_dittainvp,_dittaric,_totrectras,_totrectrasp;
|
||||||
|
TDate _datatras,_datatrasp,_dataultras_tab,_dataultras;
|
||||||
|
TString _sigle_file,_nrec_file;
|
||||||
|
char _agg_cau,_agg_pcon,_agg_cls,_agg_clifo;
|
||||||
|
bool _agg_fatatt,_agg_fatpas;
|
||||||
|
|
||||||
|
public:
|
||||||
|
virtual bool create();
|
||||||
|
virtual bool destroy();
|
||||||
|
virtual bool menu(MENU_TAG m);
|
||||||
|
bool main_loop();
|
||||||
|
bool leggi_marker();
|
||||||
|
void leggi_trasfer();
|
||||||
|
void ripristina_trasfer();
|
||||||
|
long leggi_tabella_tras();
|
||||||
|
void componi_path(TMask&);
|
||||||
|
bool video_ripartenza();
|
||||||
|
void ditta_ricevente();
|
||||||
|
bool ripartenza();
|
||||||
|
bool set_flag();
|
||||||
|
void aggiorna_tabella();
|
||||||
|
|
||||||
|
const char* converti (TString& data_AS400);
|
||||||
|
|
||||||
|
static bool baipassa(TMask& m,KEY k);
|
||||||
|
|
||||||
|
TRic_sistema() {};
|
||||||
|
};
|
||||||
|
|
||||||
|
HIDDEN TRic_sistema& app() { return (TRic_sistema &) main_app(); }
|
||||||
|
|
||||||
|
bool TRic_sistema::create()
|
||||||
|
{
|
||||||
|
TApplication::create();
|
||||||
|
|
||||||
|
_tab_tra = new TTable ("%TRA");
|
||||||
|
_tras_file = new TTransfer_file();
|
||||||
|
|
||||||
|
_numdisk = 1;
|
||||||
|
_prima_volta = TRUE;
|
||||||
|
_nultras = 0;
|
||||||
|
_nultras_tab = 0;
|
||||||
|
_baipassa = FALSE;
|
||||||
|
|
||||||
|
dispatch_e_menu (BAR_ITEM(1));
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TRic_sistema::destroy()
|
||||||
|
{
|
||||||
|
delete _tab_tra;
|
||||||
|
delete _tras_file;
|
||||||
|
|
||||||
|
return TApplication::destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TRic_sistema::componi_path(TMask& msk)
|
||||||
|
{
|
||||||
|
TString path,drive;
|
||||||
|
int pos;
|
||||||
|
|
||||||
|
path = msk.get(F_PATHNAME);
|
||||||
|
drive = msk.get(F_DRIVE);
|
||||||
|
pos = path.find(':');
|
||||||
|
|
||||||
|
if (drive == "A:" || drive == "B:" || drive == "D:" || drive == "E:")
|
||||||
|
_disketto = TRUE;
|
||||||
|
else
|
||||||
|
_disketto = FALSE;
|
||||||
|
|
||||||
|
if (pos)
|
||||||
|
path = path.mid(pos+1);
|
||||||
|
|
||||||
|
if (path != "")
|
||||||
|
{
|
||||||
|
_marker << drive << "\\" << path << "\\marker";
|
||||||
|
_trasfer << drive << "\\" << path << "\\trasfer";
|
||||||
|
if (!_disketto)
|
||||||
|
_pathname << drive << "\\" << path;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_marker << drive << "\\marker";
|
||||||
|
_trasfer << drive << "\\trasfer";
|
||||||
|
if (!_disketto)
|
||||||
|
_pathname << drive << "\\";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const char* TRic_sistema::converti (TString& data_AS400)
|
||||||
|
{
|
||||||
|
TEMP = data_AS400.mid(4,2);
|
||||||
|
TEMP << "-" << data_AS400.mid(2,2);
|
||||||
|
TEMP << "-" << data_AS400.mid(0,2);
|
||||||
|
return TEMP;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TRic_sistema::leggi_marker()
|
||||||
|
{
|
||||||
|
TString16 tmp;
|
||||||
|
|
||||||
|
if (!fexist(_marker))
|
||||||
|
{
|
||||||
|
if (_disketto)
|
||||||
|
return error_box("File marker non presente sul dischetto %d: impossibile proseguire", _numdisk);
|
||||||
|
else
|
||||||
|
return error_box("File marker non presente in %s: impossibile proseguire", (const char*)_pathname);
|
||||||
|
}
|
||||||
|
|
||||||
|
FILE* i;
|
||||||
|
|
||||||
|
const word size = 64;
|
||||||
|
TString buffer(size);
|
||||||
|
|
||||||
|
if ( (i = fopen(_marker,"r+t")) != NULL)
|
||||||
|
{
|
||||||
|
const word letti = fread((char*)(const char*)buffer,sizeof(char),size,i);
|
||||||
|
|
||||||
|
_progdisk = atoi(buffer.sub(31,33));
|
||||||
|
_numtotdisk = atoi(buffer.sub(29,31));
|
||||||
|
|
||||||
|
if (_progdisk != _numdisk)
|
||||||
|
{
|
||||||
|
message_box("Il dischetto inserito non rispecchia la giusta sequenza");
|
||||||
|
_sequenza = FALSE;
|
||||||
|
fclose(i);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
_sequenza = TRUE;
|
||||||
|
|
||||||
|
if (letti == 0)
|
||||||
|
return error_box("Rilevati ERRORI nel file MARKER: impossibile proseguire");
|
||||||
|
|
||||||
|
_nomeid = buffer.sub(0,10);
|
||||||
|
_dittainv = atol(buffer.sub(10,14));
|
||||||
|
_totrectras = atol(buffer.sub(23,29));
|
||||||
|
_numinv = atoi(buffer.sub(14,17));
|
||||||
|
tmp = buffer.sub(17,23);
|
||||||
|
_datatras = converti(tmp);
|
||||||
|
|
||||||
|
if (_numdisk > 1) //Va fatto solo dal disco 2 in poi
|
||||||
|
if (_nomeid != _nomeidp || _dittainv != _dittainvp || _totrectras != _totrectrasp
|
||||||
|
|| _numinv != _numinvp || _datatras != _datatrasp)
|
||||||
|
return error_box("I dati del marker del disco %d, non corrispondono ai dati del marker del disco 1", _numdisk);
|
||||||
|
|
||||||
|
_nomeidp = _nomeid;
|
||||||
|
_dittainvp = _dittainv;
|
||||||
|
_totrectrasp = _totrectras;
|
||||||
|
_numinvp = _numinv;
|
||||||
|
_datatrasp = _datatras;
|
||||||
|
|
||||||
|
fclose(i);
|
||||||
|
|
||||||
|
if (_numdisk == 1) // Va fatto solo per il primo disco
|
||||||
|
{
|
||||||
|
_dittaric = leggi_tabella_tras();
|
||||||
|
|
||||||
|
if (_dittaric != 0)
|
||||||
|
{
|
||||||
|
if (!prefhndl->exist(_dittaric))
|
||||||
|
return error_box("Libreria archivi ditta non presente su disco");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return error_box("Codici NON PRESENTI in tabella ricezione: caricarli e riprovare");
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TRic_sistema::main_loop()
|
||||||
|
{
|
||||||
|
TMask msk ("cg2400b");
|
||||||
|
KEY tasto;
|
||||||
|
|
||||||
|
tasto = msk.run();
|
||||||
|
|
||||||
|
if (tasto == K_ENTER)
|
||||||
|
{
|
||||||
|
componi_path(msk);
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
if (_disketto)
|
||||||
|
{
|
||||||
|
char drive = msk.get(F_DRIVE)[0];
|
||||||
|
if (yesno_box("Inserire il dischetto %d nell' unita' %c", _numdisk,drive))
|
||||||
|
{
|
||||||
|
if (!leggi_marker())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (_sequenza)
|
||||||
|
{
|
||||||
|
if (video_ripartenza())
|
||||||
|
ripristina_trasfer();
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
set_flag();
|
||||||
|
aggiorna_tabella();
|
||||||
|
_tras_file->close(); // Chiude il trasfer letto dalla directory della ditta
|
||||||
|
|
||||||
|
_numdisk++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!leggi_marker())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (_sequenza)
|
||||||
|
{
|
||||||
|
if (video_ripartenza())
|
||||||
|
ripristina_trasfer();
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
_tras_file->close(); // Chiude il trasfer letto da disco
|
||||||
|
|
||||||
|
set_flag();
|
||||||
|
aggiorna_tabella();
|
||||||
|
_tras_file->close(); // Chiude il trasfer letto dalla directory della ditta
|
||||||
|
_numdisk++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (_numdisk <= _numtotdisk);
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TRic_sistema::leggi_trasfer()
|
||||||
|
{
|
||||||
|
_nultras = 0;
|
||||||
|
|
||||||
|
_trasf = _tras_file->path(_dittaric);
|
||||||
|
_trasf << "\\trasfer";
|
||||||
|
|
||||||
|
_tras_file->open(_trasf);
|
||||||
|
|
||||||
|
if (_tras_file->exist())
|
||||||
|
{
|
||||||
|
if (_tras_file->read_control_rec())
|
||||||
|
{
|
||||||
|
_nultras = _tras_file->nultras();
|
||||||
|
_dataultras = _tras_file->dataultras();
|
||||||
|
//_sigle_file = _tras_file->sigle_file();
|
||||||
|
//_nrec_file = _tras_file->nrec_file();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TRic_sistema::ripartenza()
|
||||||
|
{
|
||||||
|
if (_stato_ripartenza == 1)
|
||||||
|
return error_box("Rilevato stato di RIPARTENZA CON DATI CONTRADDITORI: procedura interrotta");
|
||||||
|
|
||||||
|
if (_stato_ripartenza == 2)
|
||||||
|
return error_box("Trasferimento precedente NON COMPLETATO: completarlo prima di questo");
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TRic_sistema::video_ripartenza()
|
||||||
|
{
|
||||||
|
TDate dataultras;
|
||||||
|
|
||||||
|
if (_prima_volta)
|
||||||
|
{
|
||||||
|
leggi_trasfer();
|
||||||
|
|
||||||
|
_prima_volta = FALSE;
|
||||||
|
TMask msk ("cg2400a");
|
||||||
|
KEY tasto;
|
||||||
|
|
||||||
|
ditta_ricevente();
|
||||||
|
_stato_ripartenza = _tras_file->controllo_ripartenza();
|
||||||
|
|
||||||
|
msk.set(F_NOMEID, _nomeid);
|
||||||
|
msk.set(F_CODDITTAINV, _dittainv);
|
||||||
|
msk.set(F_CODDITTARIC, _dittaric);
|
||||||
|
msk.set(F_RAGSOC, _ragsoc_dittar);
|
||||||
|
msk.set(F_NULTRASDSK, _numinv);
|
||||||
|
TString data1 = _datatras.string();
|
||||||
|
msk.set(F_DATAULTRASDSK, data1);
|
||||||
|
|
||||||
|
if (_nultras != 0)
|
||||||
|
{
|
||||||
|
msk.set(F_NULTRASTAB, _nultras);
|
||||||
|
TString data2 = _dataultras.string();
|
||||||
|
msk.set(F_DATAULTRASTAB, data2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
msk.set(F_NULTRASTAB, _nultras_tab);
|
||||||
|
TString data2 = _dataultras_tab.string();
|
||||||
|
msk.set(F_DATAULTRASTAB, data2);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_stato_ripartenza == 1 || _stato_ripartenza == 2 )
|
||||||
|
msk.set(F_STATO, "NON COMPLETA");
|
||||||
|
else
|
||||||
|
if (_stato_ripartenza == 0)
|
||||||
|
msk.set(F_STATO, "COMPLETA");
|
||||||
|
|
||||||
|
if (_numdisk == 1) // Va fatto solo per il primo disco
|
||||||
|
{
|
||||||
|
do
|
||||||
|
{
|
||||||
|
msk.set_handler(baipassa);
|
||||||
|
|
||||||
|
tasto = msk.run();
|
||||||
|
|
||||||
|
if (tasto != K_ENTER)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (_baipassa)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
if (!ripartenza())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (_numinv > (_nultras_tab + 1))
|
||||||
|
warning_box("Trasferimento FUORI SEQUENZA: manca un trasferimento intermedio");
|
||||||
|
else
|
||||||
|
if (_numinv < (_nultras_tab +1))
|
||||||
|
warning_box("I dischetti risultano GIA' TRASFERITI");
|
||||||
|
else
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
while (tasto == K_ENTER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TRic_sistema::baipassa(TMask& m,KEY k)
|
||||||
|
{
|
||||||
|
if (k == K_SHIFT+K_F7)
|
||||||
|
app()._baipassa = TRUE;
|
||||||
|
else
|
||||||
|
app()._baipassa = FALSE;
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TRic_sistema::ripristina_trasfer()
|
||||||
|
{
|
||||||
|
TString ditta,app;
|
||||||
|
|
||||||
|
if (_numdisk == 1)
|
||||||
|
set_firm(_dittaric);
|
||||||
|
|
||||||
|
// app.format("%05da", _dittaric);
|
||||||
|
|
||||||
|
// ditta << "C:\\prassi\\" << app << "\\trasfer";
|
||||||
|
// fcopy(_trasfer,/*ditta*/_trasf,TRUE);
|
||||||
|
|
||||||
|
_tras_file->fcopytemp(_trasfer, _trasf, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TRic_sistema::ditta_ricevente()
|
||||||
|
{
|
||||||
|
TLocalisamfile nditte (LF_NDITTE);
|
||||||
|
|
||||||
|
nditte.setkey(1);
|
||||||
|
nditte.zero();
|
||||||
|
nditte.put(NDT_CODDITTA, _dittaric);
|
||||||
|
if (nditte.read() == NOERR)
|
||||||
|
_ragsoc_dittar = nditte.get(NDT_RAGSOC);
|
||||||
|
}
|
||||||
|
|
||||||
|
long TRic_sistema::leggi_tabella_tras()
|
||||||
|
{
|
||||||
|
TString dep;
|
||||||
|
long ditta = 0;
|
||||||
|
|
||||||
|
_tab_tra->zero();
|
||||||
|
dep = format("%10s%05d", (const char*) _nomeid, _dittainv);
|
||||||
|
_tab_tra->put("CODTAB", (const char*) dep);
|
||||||
|
if (_tab_tra->read() == NOERR)
|
||||||
|
{
|
||||||
|
ditta = _tab_tra->get_long("I0");
|
||||||
|
_nultras_tab = _tab_tra->get_int ("I1");
|
||||||
|
_dataultras_tab = _tab_tra->get_date("D0");
|
||||||
|
_agg_cau = _tab_tra->get_char("S0");
|
||||||
|
_agg_clifo = _tab_tra->get_char("S1");
|
||||||
|
_agg_pcon = _tab_tra->get_char("S2");
|
||||||
|
_agg_cls = _tab_tra->get_char("S3");
|
||||||
|
_agg_fatatt = _tab_tra->get_bool("B0");
|
||||||
|
_agg_fatpas = _tab_tra->get_bool("B1");
|
||||||
|
}
|
||||||
|
|
||||||
|
return ditta;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TRic_sistema::set_flag()
|
||||||
|
{
|
||||||
|
TString sigla;
|
||||||
|
long nrec;
|
||||||
|
int j;
|
||||||
|
int k = 0;
|
||||||
|
TString flag;
|
||||||
|
TString record;
|
||||||
|
TString ana_com,pcon_cau;
|
||||||
|
TString uselab;
|
||||||
|
bool fatto = TRUE;
|
||||||
|
|
||||||
|
TConfig conf(CONFIG_DITTA);
|
||||||
|
|
||||||
|
ana_com = conf.get("AnCfCm","cg");
|
||||||
|
pcon_cau = conf.get("PcTcCm","cg");
|
||||||
|
|
||||||
|
_tras_file->open(_trasf);
|
||||||
|
|
||||||
|
if (_tras_file->exist())
|
||||||
|
{
|
||||||
|
if (_tras_file->read_control_rec())
|
||||||
|
{
|
||||||
|
_nultras = _tras_file->nultras();
|
||||||
|
_dataultras = _tras_file->dataultras();
|
||||||
|
_sigle_file = _tras_file->sigle_file();
|
||||||
|
_nrec_file = _tras_file->nrec_file();
|
||||||
|
record = _tras_file->record();
|
||||||
|
// La fill_index e' richiamata dentro a read_control_rec
|
||||||
|
// _tras_file->fill_index(_sigle_file,_nrec_file);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (j = 0; j < _sigle_file.len(); j++)
|
||||||
|
{
|
||||||
|
sigla = _sigle_file.mid(j,1);
|
||||||
|
nrec = atol(_nrec_file.mid(k,6));
|
||||||
|
|
||||||
|
if (fatto)
|
||||||
|
{
|
||||||
|
if (sigla == "W" || sigla == "P")
|
||||||
|
{
|
||||||
|
if (nrec > 0 && pcon_cau == "")
|
||||||
|
{
|
||||||
|
flag = "T";
|
||||||
|
fatto = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (sigla == "A")
|
||||||
|
{
|
||||||
|
if (nrec > 0 && ana_com == "")
|
||||||
|
{
|
||||||
|
flag = "T";
|
||||||
|
fatto = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (sigla == "Z" || sigla == "U" || sigla == "A")
|
||||||
|
{
|
||||||
|
if (nrec > 0)
|
||||||
|
{
|
||||||
|
flag = "C";
|
||||||
|
fatto = FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flag = "*";
|
||||||
|
fatto = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
uselab = sigla;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sigla == "W" || sigla == "P")
|
||||||
|
{
|
||||||
|
if (pcon_cau == "X")
|
||||||
|
{
|
||||||
|
_sigle_file.overwrite(" ",j);
|
||||||
|
_nrec_file.overwrite("000000",k);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sigla == "A")
|
||||||
|
{
|
||||||
|
if (ana_com == "X")
|
||||||
|
{
|
||||||
|
_sigle_file.overwrite(" ",j);
|
||||||
|
_nrec_file.overwrite("000000",k);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
k += 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
record.overwrite(_sigle_file,38);
|
||||||
|
record.overwrite(_nrec_file,47);
|
||||||
|
|
||||||
|
TString agg(7);
|
||||||
|
|
||||||
|
agg[0] = _agg_cls;
|
||||||
|
agg[1] = _agg_cau;
|
||||||
|
agg[2] = _agg_clifo;
|
||||||
|
agg[3] = _agg_pcon;
|
||||||
|
agg[4] = _agg_fatatt;
|
||||||
|
agg[5] = _agg_fatpas;
|
||||||
|
agg[6] = '\0';
|
||||||
|
|
||||||
|
record.overwrite(agg,234);
|
||||||
|
record.overwrite(uselab,240);
|
||||||
|
record.overwrite(" ",241);
|
||||||
|
|
||||||
|
const int size = 256;
|
||||||
|
|
||||||
|
if (!_tras_file->write_control_rec(record, size))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
conf.set("FlStTra", flag);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TRic_sistema::aggiorna_tabella()
|
||||||
|
{
|
||||||
|
TString dep;
|
||||||
|
|
||||||
|
_tab_tra->zero();
|
||||||
|
dep = format("%10s%05d", (const char*) _nomeid, _dittainv);
|
||||||
|
_tab_tra->put("CODTAB", (const char*) dep);
|
||||||
|
if (_tab_tra->read() == NOERR)
|
||||||
|
{
|
||||||
|
_tab_tra->put("I1", (long)_nultras);
|
||||||
|
_tab_tra->put("D0", _dataultras);
|
||||||
|
_tab_tra->rewrite();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TRic_sistema::menu(MENU_TAG m)
|
||||||
|
{
|
||||||
|
if (m == BAR_ITEM(1))
|
||||||
|
return main_loop();
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
int cg2400 (int argc, char* argv[])
|
||||||
|
{
|
||||||
|
TRic_sistema a;
|
||||||
|
a.run(argc, argv,"Ricezione da sistema");
|
||||||
|
return TRUE;
|
||||||
|
}
|
17
cg/cg2400.h
Executable file
17
cg/cg2400.h
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
// Campi maschera ba7300a
|
||||||
|
|
||||||
|
#define F_NOMEID 101
|
||||||
|
#define F_CODDITTAINV 102
|
||||||
|
#define F_CODDITTARIC 103
|
||||||
|
#define F_RAGSOC 104
|
||||||
|
#define F_NULTRASDSK 105
|
||||||
|
#define F_NULTRASTAB 106
|
||||||
|
#define F_DATAULTRASDSK 107
|
||||||
|
#define F_DATAULTRASTAB 108
|
||||||
|
#define F_STATO 109
|
||||||
|
#define F_NOME 110
|
||||||
|
|
||||||
|
// Campi maschera ba7300b
|
||||||
|
|
||||||
|
#define F_DRIVE 150
|
||||||
|
#define F_PATHNAME 151
|
85
cg/cg2400a.uml
Executable file
85
cg/cg2400a.uml
Executable file
@ -0,0 +1,85 @@
|
|||||||
|
#include "cg2400.h"
|
||||||
|
|
||||||
|
PAGE "" -1 -1 70 15
|
||||||
|
|
||||||
|
STRING F_NOMEID 10
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Nome simbolico sistema inviante "
|
||||||
|
FLAGS "ZD"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CODDITTAINV 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 2 "Codice ditta inviante "
|
||||||
|
FLAGS "ZD"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CODDITTARIC 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "Ditta ricevente "
|
||||||
|
USE LF_NDITTE KEY 1
|
||||||
|
INPUT CODDITTA F_CODDITTARIC
|
||||||
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
|
FLAGS "RDZ"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOC 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 5 "Ragione sociale "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT DLG_NULL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 27 7 "Presente su dischetto"
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT DLG_NULL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 51 7 "Ultimo intrapreso"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NULTRASDSK 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 8 "Numero invio "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NULTRASTAB 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 51 8 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAULTRASDSK
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 9 "Data limite trasferimento "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAULTRASTAB
|
||||||
|
BEGIN
|
||||||
|
PROMPT 51 9 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_STATO 14
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 10 "Stato del trasferimento "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
36
cg/cg2400b.uml
Executable file
36
cg/cg2400b.uml
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#include "cg2400.h"
|
||||||
|
|
||||||
|
PAGE "" -1 -1 44 8
|
||||||
|
|
||||||
|
LIST F_DRIVE 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 2 "Disco "
|
||||||
|
ITEM "A:|A:"
|
||||||
|
ITEM "B:|B:"
|
||||||
|
ITEM "C:|C:"
|
||||||
|
ITEM "D:|D:"
|
||||||
|
ITEM "E:|E:"
|
||||||
|
ITEM "F:|F:"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_PATHNAME 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Percorso "
|
||||||
|
HELP "Specificare il percorso completo dove ricercare il file di ricezione dati"
|
||||||
|
FLAGS "U"
|
||||||
|
//VALIDATE FILENAME_FUNC
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
1746
cg/cg2600.cpp
Executable file
1746
cg/cg2600.cpp
Executable file
File diff suppressed because it is too large
Load Diff
10
cg/cg2600.h
Executable file
10
cg/cg2600.h
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
// Campi maschera cg2600a.uml
|
||||||
|
|
||||||
|
#define F_CODDITTA 101
|
||||||
|
#define F_RAGSOC 102
|
||||||
|
#define F_NULTRAS 103
|
||||||
|
#define F_DATAULTRAS 104
|
||||||
|
#define F_STATO 105
|
||||||
|
#define F_USELAB 106
|
||||||
|
#define F_STD 107
|
||||||
|
|
63
cg/cg2600a.uml
Executable file
63
cg/cg2600a.uml
Executable file
@ -0,0 +1,63 @@
|
|||||||
|
#include "cg2600.h"
|
||||||
|
|
||||||
|
PAGE "" -1 -1 70 11
|
||||||
|
|
||||||
|
NUMBER F_CODDITTA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Ditta ricevente "
|
||||||
|
USE LF_NDITTE KEY 1
|
||||||
|
INPUT CODDITTA F_CODDITTA
|
||||||
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
|
FLAGS "RDZ"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOC 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 2 "Ragione sociale "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NULTRAS 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "Numero invio "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAULTRAS
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 5 "Data limite trasferimento "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_STD 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 6 "Stato del trasferimento "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_USELAB 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 31 6 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_STATO 14
|
||||||
|
BEGIN
|
||||||
|
PROMPT 35 6 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
1075
cg/cg2700.cpp
Executable file
1075
cg/cg2700.cpp
Executable file
File diff suppressed because it is too large
Load Diff
8
cg/cg2700.h
Executable file
8
cg/cg2700.h
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#define F_CODDITTA 101
|
||||||
|
#define F_RAGSOC 102
|
||||||
|
#define F_LISTA 103
|
||||||
|
#define F_NUMERO 104
|
||||||
|
#define F_DATALIMITE 105
|
||||||
|
#define F_SDT 106
|
||||||
|
#define F_SIGLA 107
|
||||||
|
#define F_CHIAVE 108
|
77
cg/cg2700a.uml
Executable file
77
cg/cg2700a.uml
Executable file
@ -0,0 +1,77 @@
|
|||||||
|
#include "cg2700.h"
|
||||||
|
|
||||||
|
PAGE "" -1 -1 78 17
|
||||||
|
|
||||||
|
NUMBER F_CODDITTA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "Ditta ricevente "
|
||||||
|
FLAGS "FRD"
|
||||||
|
USE LF_NDITTE KEY 1
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
INPUT CODDITTA F_CODDITTA
|
||||||
|
OUTPUT F_CODDITTA CODDITTA
|
||||||
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOC 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 2 "Ragione sociale "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
RADIOBUTTON F_LISTA 31
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Scelta controllo "
|
||||||
|
HELP "Indicare il tipo di controllo"
|
||||||
|
ITEM "1|Lista controllo movim. errati"
|
||||||
|
ITEM "2|Lista controllo tutti movim."
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NUMERO 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 9 "Numero invio "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATALIMITE
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Data limite trasferimento "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
TEXT DLG_NULL
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 11 "Stato ricezione "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_SDT 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 31 11 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_SIGLA 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 34 11 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CHIAVE 15
|
||||||
|
BEGIN
|
||||||
|
PROMPT 37 11 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
1477
cg/cg2800.cpp
Executable file
1477
cg/cg2800.cpp
Executable file
File diff suppressed because it is too large
Load Diff
68
cg/cg2800.h
Executable file
68
cg/cg2800.h
Executable file
@ -0,0 +1,68 @@
|
|||||||
|
// Campi maschera cg2800a.uml
|
||||||
|
|
||||||
|
#define F_NUMREG 101
|
||||||
|
#define F_NUMRIG 102
|
||||||
|
|
||||||
|
// Campi maschera cg2800b.uml
|
||||||
|
|
||||||
|
#define F_DATAREG 103
|
||||||
|
#define F_DATADOC 104
|
||||||
|
#define F_ANNO 105
|
||||||
|
#define F_REGIVA 106
|
||||||
|
#define F_PROTIVA 107
|
||||||
|
#define F_NUPROTIVA 108
|
||||||
|
#define F_CODCAUS 109
|
||||||
|
#define F_CODPAG 110
|
||||||
|
#define F_GRUPPO 111
|
||||||
|
#define F_CONTO 112
|
||||||
|
#define F_SOTTOCONTO 113
|
||||||
|
#define F_SEZIONE 114
|
||||||
|
#define F_IMPORTO 115
|
||||||
|
#define F_DESCR 116
|
||||||
|
#define F_GRUPPOC 117
|
||||||
|
#define F_CONTOC 118
|
||||||
|
#define F_SOTTOC 119
|
||||||
|
#define F_NUMDOC 120
|
||||||
|
#define F_DESCRREG 121
|
||||||
|
#define F_DESCRCAU 122
|
||||||
|
#define F_DESCRPAG 123
|
||||||
|
#define F_DESCRPARTITA 124
|
||||||
|
#define F_DESCRCPARTITA 125
|
||||||
|
|
||||||
|
// Campi maschera cg2800c.uml
|
||||||
|
|
||||||
|
#define F_CODCF 150
|
||||||
|
#define F_RAGSOCOCC 151
|
||||||
|
#define F_DATA74TER 152
|
||||||
|
#define F_INDOCC 153
|
||||||
|
#define F_LOCALITA 154
|
||||||
|
#define F_CAPOCC 155
|
||||||
|
#define F_PROVOCC 156
|
||||||
|
#define F_IMPONIBILE 157
|
||||||
|
#define F_IMPOSTA 158
|
||||||
|
#define F_CODIVA 159
|
||||||
|
#define F_TIPODET 160
|
||||||
|
#define F_TIPOCR 161
|
||||||
|
#define F_RAGSOCCF 162
|
||||||
|
#define F_DESCRCODIVA 163
|
||||||
|
|
||||||
|
// Campi maschera cg2801a.uml
|
||||||
|
|
||||||
|
#define F_CODDITTA 200
|
||||||
|
#define F_RAGDITTA 201
|
||||||
|
|
||||||
|
// Campi maschera cg2803a.uml
|
||||||
|
|
||||||
|
#define F_CODDITTARIC 250
|
||||||
|
#define F_RAGSOC 251
|
||||||
|
#define F_NULTRAS 252
|
||||||
|
#define F_DATAULTRAS 253
|
||||||
|
#define F_STD 254
|
||||||
|
#define F_USELAB 255
|
||||||
|
#define F_STATO 256
|
||||||
|
#define F_AGGCAUSALI 257
|
||||||
|
#define F_AGGCLIFO 258
|
||||||
|
#define F_AGGPCON 259
|
||||||
|
#define F_AGGIVD 260
|
||||||
|
#define F_FATTEM 261
|
||||||
|
#define F_FATTRIC 262
|
32
cg/cg2800a.uml
Executable file
32
cg/cg2800a.uml
Executable file
@ -0,0 +1,32 @@
|
|||||||
|
#include "cg2800.h"
|
||||||
|
|
||||||
|
PAGE "" -1 -1 50 8
|
||||||
|
|
||||||
|
NUMBER F_NUMREG 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "Numero di registrazione "
|
||||||
|
HELP "Inserire il numero di registrazione che si vuole modificare"
|
||||||
|
FLAGS "RZ"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NUMRIG 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 3 "Numero di riga "
|
||||||
|
HELP "Inserire il numero della riga desiderata. Se non viene specificata si entra in modifica della testata"
|
||||||
|
FLAGS "RZ"
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
179
cg/cg2800b.uml
Executable file
179
cg/cg2800b.uml
Executable file
@ -0,0 +1,179 @@
|
|||||||
|
#include "cg2800.h"
|
||||||
|
|
||||||
|
TOOLBAR "" 0 20 0 2
|
||||||
|
|
||||||
|
BUTTON DLG_SAVEREC 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -15 -1 "~Registra"
|
||||||
|
MESSAGE EXIT,K_SAVE
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_CANCEL 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -45 -1 ""
|
||||||
|
MESSAGE EXIT,K_ESC
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -55 -1 ""
|
||||||
|
MESSAGE EXIT,K_QUIT
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "" -1 -1 78 18
|
||||||
|
|
||||||
|
NUMBER F_NUMREG 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Numero registrazione "
|
||||||
|
HELP "Inserire il numero di registrazione che si vuole modificare"
|
||||||
|
FLAGS "RZ"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NUMRIG 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 1 "Numero di riga "
|
||||||
|
HELP "Inserire il numero della riga desiderata. Se non viene specificata si entra in modifica della testata"
|
||||||
|
FLAGS "RZ"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAREG
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 3 "Data registrazione "
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_ANNO 10
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 3 "Anno di riferimento "
|
||||||
|
ITEM "0|Corrente"
|
||||||
|
ITEM "1|Precedente"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATADOC
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "Data del documento "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_NUMDOC 7
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 4 "Numero docomento "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_REGIVA 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 6 "Registro IVA "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCRREG 49
|
||||||
|
BEGIN
|
||||||
|
PROMPT 28 6 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_PROTIVA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 7 "Numero protocollo iva "
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NUPROTIVA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 7 "Ultimo protoc. riepilog. "
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CODCAUS 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 8 "Codice causale "
|
||||||
|
FLAGS "Z"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCRCAU 49
|
||||||
|
BEGIN
|
||||||
|
PROMPT 28 8 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CODPAG 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 9 "Codice pagamento "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCRPAG 49
|
||||||
|
BEGIN
|
||||||
|
PROMPT 28 9 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_GRUPPO 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 11 "Sottoconto partita "
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CONTO 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 29 11 ""
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_SOTTOCONTO 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 34 11 ""
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCRPARTITA 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 12 "Descrizione partita "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_SEZIONE 7
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 13 "Sezione "
|
||||||
|
ITEM "D|Dare"
|
||||||
|
ITEM "A|Avere"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCR 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 14 "Descrizione aggiuntiva "
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_IMPORTO 15
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 15 "Importo "
|
||||||
|
FLAGS "R"
|
||||||
|
PICTURE "."
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_GRUPPOC 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 16 "Sottoconto contropart. "
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CONTOC 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 29 16 ""
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_SOTTOC 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 34 16 ""
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCRCPARTITA 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 17 "Descrizione c/partita "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
167
cg/cg2800c.uml
Executable file
167
cg/cg2800c.uml
Executable file
@ -0,0 +1,167 @@
|
|||||||
|
#include "cg2800.h"
|
||||||
|
|
||||||
|
TOOLBAR "" 0 20 0 2
|
||||||
|
|
||||||
|
BUTTON DLG_SAVEREC 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -15 -1 "~Registra"
|
||||||
|
MESSAGE EXIT,K_SAVE
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_CANCEL 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -45 -1 ""
|
||||||
|
MESSAGE EXIT,K_ESC
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -55 -1 ""
|
||||||
|
MESSAGE EXIT,K_QUIT
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "" -1 -1 78 18
|
||||||
|
|
||||||
|
NUMBER F_NUMREG 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Numero registrazione "
|
||||||
|
HELP "Inserire il numero di registrazione che si vuole modificare"
|
||||||
|
FLAGS "RZ"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NUMRIG 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 52 1 "Numero di riga "
|
||||||
|
HELP "Inserire il numero della riga desiderata. Se non viene specificata si entra in modifica della testata"
|
||||||
|
FLAGS "RZ"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CODCF 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 3 "Codice C/F "
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOCCF 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 26 3 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATA74TER
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "Data reg. 74TER "
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 0 6 "Cliente occasionale"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOCOCC 25
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 7 "Ragione sociale "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_INDOCC 22
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 8 "Indirizzo "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_LOCALITA 18
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 9 "Localita' "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CAPOCC 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 46 9 "C.A.P. "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_PROVOCC 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 62 9 "Provincia "
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_IMPONIBILE 15
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 11 "Imponibile "
|
||||||
|
FLAGS "R"
|
||||||
|
PICTURE "."
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CODIVA 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 12 "Codice IVA "
|
||||||
|
FLAGS "Z"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCRCODIVA 48
|
||||||
|
BEGIN
|
||||||
|
PROMPT 28 12 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_IMPOSTA 15
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 13 "Imposta "
|
||||||
|
FLAGS "R"
|
||||||
|
PICTURE "."
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_TIPODET 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 14 "Tipo detraibilita' "
|
||||||
|
SHEET "Codice|Tipo detraibilita'@75"
|
||||||
|
INPUT F_TIPODET
|
||||||
|
ITEM " |Regime normale"
|
||||||
|
ITEM "1|IVA indetraibile su acquisti riferiti a ricavi esenti"
|
||||||
|
ITEM "3|IVA indicata per passaggi interni al solo fine del calcolo di ventilazione"
|
||||||
|
ITEM "9|IVA non detraibile per l'articolo 19"
|
||||||
|
OUTPUT F_TIPODET
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_TIPOCR 47
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 15 "Tipo Costo/Ricavo "
|
||||||
|
ITEM " |0. Acquisti o vendite in genere"
|
||||||
|
ITEM "1|1. Acquisti beni per rivendita"
|
||||||
|
ITEM "2|2. Acquisti beni ammortizzabili"
|
||||||
|
ITEM "3|3. Acquisti beni ammortizzabili con detr. 6%"
|
||||||
|
ITEM "4|4. Vendita beni strumentali art. 17"
|
||||||
|
ITEM "5|5. Beni per rivendita da non ventilare"
|
||||||
|
ITEM "8|8. Altri beni strumentali acquistati in leasing"
|
||||||
|
ITEM "9|9. Spese generali"
|
||||||
|
HELP "Tipo Costo/Ricavo del conto"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_GRUPPO 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 16 "Sottoconto costo/ricavo "
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_CONTO 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 30 16 ""
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_SOTTOCONTO 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 35 16 ""
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCRPARTITA 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 17 "Descrizione sottoconto "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
241
cg/cg2801.cpp
Executable file
241
cg/cg2801.cpp
Executable file
@ -0,0 +1,241 @@
|
|||||||
|
#include "cglib04.h"
|
||||||
|
#include "cg2801.h"
|
||||||
|
|
||||||
|
bool TDitta_ric::create()
|
||||||
|
{
|
||||||
|
TApplication::create();
|
||||||
|
|
||||||
|
_nditte = new TLocalisamfile (LF_PCON);
|
||||||
|
|
||||||
|
dispatch_e_menu (BAR_ITEM(1));
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TDitta_ric::destroy()
|
||||||
|
{
|
||||||
|
delete _nditte;
|
||||||
|
|
||||||
|
return TApplication::destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TDitta_ric::set()
|
||||||
|
{
|
||||||
|
TMask msk ("cg2801a");
|
||||||
|
KEY tasto;
|
||||||
|
|
||||||
|
tasto = msk.run();
|
||||||
|
|
||||||
|
if (tasto != K_ENTER) return FALSE;
|
||||||
|
|
||||||
|
_dittaric = msk.get_int(F_CODDITTA);
|
||||||
|
|
||||||
|
if (!esegui_controlli()) return FALSE;
|
||||||
|
|
||||||
|
set_firm(_dittaric);
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TDitta_ric::leggi_trasfer()
|
||||||
|
{
|
||||||
|
_trasf = _tras_file.path(_dittaric);
|
||||||
|
_trasf << "\\trasfer";
|
||||||
|
|
||||||
|
_tras_file.open(_trasf);
|
||||||
|
|
||||||
|
if (_tras_file.exist())
|
||||||
|
{
|
||||||
|
if (_tras_file.read_control_rec())
|
||||||
|
{
|
||||||
|
_control_rec = _tras_file.record();
|
||||||
|
_uselab = _tras_file.ult_file();
|
||||||
|
_key = _tras_file.key();
|
||||||
|
_sigle_file = _tras_file.sigle_file();
|
||||||
|
_nrec_file = _tras_file.nrec_file();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return error_box("Rilevati gravi errori negli archivi:procedura interrotta");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return error_box("Al momento non presenti trasferimenti attivi sulla ditta selezionata");
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TDitta_ric::esegui_controlli()
|
||||||
|
{
|
||||||
|
TConfig conf(CONFIG_DITTA);
|
||||||
|
|
||||||
|
_std = conf.get("FlStTra");
|
||||||
|
|
||||||
|
if (!prefhndl->exist(_dittaric))
|
||||||
|
return error_box("Codice ditta NON PRESENTE in archivio oppure NON ATTIVATO in contabilita' generale");
|
||||||
|
|
||||||
|
if (_std == "")
|
||||||
|
{
|
||||||
|
if (!leggi_trasfer())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (_uselab != " ")
|
||||||
|
return error_box("Ultimo trasferimento NON COMPLETATO: completarlo");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return error_box("Ultimo trasferimento NON COMPLETATO: completarlo");
|
||||||
|
|
||||||
|
if (!controlli())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TDitta_ric::controlli()
|
||||||
|
{
|
||||||
|
TString ana_com,pcon_cau,uselab;
|
||||||
|
bool fatto = FALSE;
|
||||||
|
|
||||||
|
TConfig conf(CONFIG_DITTA);
|
||||||
|
|
||||||
|
ana_com = conf.get("AnCfCm","cg");
|
||||||
|
pcon_cau = conf.get("PcTcCm","cg");
|
||||||
|
|
||||||
|
if (ana_com == "X" || pcon_cau == "X")
|
||||||
|
{
|
||||||
|
if (ana_com == "X")
|
||||||
|
{
|
||||||
|
int p = _sigle_file.find('A');
|
||||||
|
if (p >= 0)
|
||||||
|
{
|
||||||
|
_sigle_file.overwrite(" ",p);
|
||||||
|
_nrec_file.overwrite("000000", p * 6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pcon_cau == "X")
|
||||||
|
{
|
||||||
|
int p = _sigle_file.find('W');
|
||||||
|
if (p >= 0)
|
||||||
|
{
|
||||||
|
_sigle_file.overwrite(" ",p);
|
||||||
|
_nrec_file.overwrite("000000", p * 6);
|
||||||
|
}
|
||||||
|
|
||||||
|
p = _sigle_file.find('P');
|
||||||
|
if (p >= 0)
|
||||||
|
{
|
||||||
|
_sigle_file.overwrite(" ",p);
|
||||||
|
_nrec_file.overwrite("000000", p * 6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_control_rec.overwrite(_sigle_file,38);
|
||||||
|
_control_rec.overwrite(_nrec_file,47);
|
||||||
|
_tras_file.write_control_rec(_control_rec,256);
|
||||||
|
leggi_record_controllo();
|
||||||
|
}
|
||||||
|
|
||||||
|
setta_parametri_record("","T",FALSE);
|
||||||
|
|
||||||
|
int k = 0;
|
||||||
|
|
||||||
|
for ( int j = 0; j < _sigle_file.len(); j++)
|
||||||
|
{
|
||||||
|
TString sigla = _sigle_file.mid(j,1);
|
||||||
|
long nrec = atol(_nrec_file.mid(k,6));
|
||||||
|
|
||||||
|
if (sigla != "Z" && sigla != "U" && sigla != "B")
|
||||||
|
{
|
||||||
|
if (nrec != 0)
|
||||||
|
{
|
||||||
|
uselab = sigla;
|
||||||
|
_control_rec.overwrite(uselab,240);
|
||||||
|
_control_rec.overwrite(" ",241);
|
||||||
|
fatto = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
k += 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!fatto)
|
||||||
|
{
|
||||||
|
int p = _sigle_file.find('Z');
|
||||||
|
if (p >= 0)
|
||||||
|
{
|
||||||
|
setta_parametri_record("","C",FALSE);
|
||||||
|
_control_rec.overwrite(" ",240);
|
||||||
|
_control_rec.overwrite(" ",241);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
setta_parametri_record("","*",FALSE);
|
||||||
|
_control_rec.overwrite(" ",240);
|
||||||
|
_control_rec.overwrite(" ",241);
|
||||||
|
fremove(_trasf);
|
||||||
|
setta_parametri_record(""," ",FALSE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char agg_cau = _control_rec.sub(235,236)[0];
|
||||||
|
char agg_clifo = _control_rec.sub(236,237)[0];
|
||||||
|
char agg_pcon = _control_rec.sub(237,238)[0];
|
||||||
|
|
||||||
|
if (agg_cau != ' ')
|
||||||
|
agg_cau = 'D';
|
||||||
|
if (agg_clifo != ' ')
|
||||||
|
agg_clifo = 'D';
|
||||||
|
if (agg_pcon != ' ')
|
||||||
|
agg_pcon = 'D';
|
||||||
|
|
||||||
|
TString agg(4);
|
||||||
|
|
||||||
|
agg[0] = agg_cau;
|
||||||
|
agg[1] = agg_clifo;
|
||||||
|
agg[2] = agg_pcon;
|
||||||
|
agg[3] = '\0';
|
||||||
|
|
||||||
|
_control_rec.overwrite(agg,235);
|
||||||
|
|
||||||
|
const int size = 256;
|
||||||
|
|
||||||
|
if (!_tras_file.write_control_rec(_control_rec, size))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
TConfig cfd (CONFIG_DITTA);
|
||||||
|
|
||||||
|
TString std = cfd.get("FlStTra");
|
||||||
|
if (std == "")
|
||||||
|
return error_box ("Non risultano TRASFERIMENTI ATTIVI sulla ditta richiesta");
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TDitta_ric::leggi_record_controllo()
|
||||||
|
{
|
||||||
|
_tras_file.read_control_rec();
|
||||||
|
_control_rec = _tras_file.record();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TDitta_ric::setta_parametri_record(const TString& sigla,const TString& flag,bool uselab)
|
||||||
|
{
|
||||||
|
TConfig conf (CONFIG_DITTA);
|
||||||
|
|
||||||
|
conf.set("FlStTra", flag);
|
||||||
|
|
||||||
|
if (uselab)
|
||||||
|
{
|
||||||
|
leggi_record_controllo();
|
||||||
|
_control_rec.overwrite(sigla,240);
|
||||||
|
|
||||||
|
const int size = 256;
|
||||||
|
|
||||||
|
_tras_file.write_control_rec(_control_rec, size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TDitta_ric::menu(MENU_TAG m)
|
||||||
|
{
|
||||||
|
if (m == BAR_ITEM(1))
|
||||||
|
return set();
|
||||||
|
return FALSE;
|
||||||
|
}
|
43
cg/cg2801.h
Executable file
43
cg/cg2801.h
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
// Scelta ditta per ricezione
|
||||||
|
|
||||||
|
#include <mask.h>
|
||||||
|
#include <applicat.h>
|
||||||
|
#include <relation.h>
|
||||||
|
#include <tabutil.h>
|
||||||
|
#include <utility.h>
|
||||||
|
#include <config.h>
|
||||||
|
#include <urldefid.h>
|
||||||
|
#include <execp.h>
|
||||||
|
#include <prefix.h>
|
||||||
|
#include <lffiles.h>
|
||||||
|
#include <nditte.h>
|
||||||
|
|
||||||
|
#include "cg2800.h"
|
||||||
|
//#include "cglib04.h"
|
||||||
|
|
||||||
|
class TDitta_ric : public TApplication
|
||||||
|
{
|
||||||
|
TLocalisamfile* _nditte;
|
||||||
|
TTransfer_file _tras_file;
|
||||||
|
|
||||||
|
TString _trasf,_std,_uselab,_record,_nrec_file,_sigle_file,_key;
|
||||||
|
long _dittaric;
|
||||||
|
TString _control_rec;
|
||||||
|
|
||||||
|
public:
|
||||||
|
TString _titolo;
|
||||||
|
|
||||||
|
virtual bool create();
|
||||||
|
virtual bool destroy();
|
||||||
|
virtual bool menu(MENU_TAG m);
|
||||||
|
|
||||||
|
bool set();
|
||||||
|
|
||||||
|
bool esegui_controlli();
|
||||||
|
bool leggi_trasfer();
|
||||||
|
bool controlli();
|
||||||
|
void leggi_record_controllo();
|
||||||
|
void setta_parametri_record(const TString& sigla,const TString& flag,bool uselab);
|
||||||
|
|
||||||
|
TDitta_ric() {};
|
||||||
|
};
|
47
cg/cg2801a.uml
Executable file
47
cg/cg2801a.uml
Executable file
@ -0,0 +1,47 @@
|
|||||||
|
#include "cg2800.h"
|
||||||
|
|
||||||
|
PAGE "Selezione Ditta" -1 -1 64 6
|
||||||
|
|
||||||
|
NUMBER F_CODDITTA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Codice "
|
||||||
|
HELP "Codice della ditta da attivare"
|
||||||
|
FLAGS "FR"
|
||||||
|
USE LF_NDITTE KEY 1
|
||||||
|
INPUT CODDITTA F_CODDITTA
|
||||||
|
DISPLAY "Codice" CODDITTA
|
||||||
|
DISPLAY "Ragione sociale@50" RAGSOC
|
||||||
|
OUTPUT F_CODDITTA CODDITTA
|
||||||
|
OUTPUT F_RAGDITTA RAGSOC
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
WARNING "Ditta assente"
|
||||||
|
KEY 1
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGDITTA 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 2 "Rag. Soc. "
|
||||||
|
USE LF_NDITTE KEY 2
|
||||||
|
HELP "Ragione sociale della ditta da selezionare"
|
||||||
|
INPUT RAGSOC F_RAGDITTA
|
||||||
|
DISPLAY "Ragione sociale@50" RAGSOC
|
||||||
|
DISPLAY "Codice" CODDITTA
|
||||||
|
COPY OUTPUT F_CODDITTA
|
||||||
|
KEY 2
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
363
cg/cg2802.cpp
Executable file
363
cg/cg2802.cpp
Executable file
@ -0,0 +1,363 @@
|
|||||||
|
#include "cglib04.h"
|
||||||
|
#include "cg2802.h"
|
||||||
|
|
||||||
|
HIDDEN int date2esc(const TDate& d, int* prevesc)
|
||||||
|
{
|
||||||
|
if (prevesc) *prevesc = 0;
|
||||||
|
TTable esc("ESC");
|
||||||
|
for (int err = esc.first(); err == NOERR; err = esc.next())
|
||||||
|
{
|
||||||
|
const TDate ia(esc.get("D0")); // Data inizio esercizio
|
||||||
|
const TDate fa(esc.get("D1")); // Data fine esercizio
|
||||||
|
const anno = esc.get_int("CODTAB");
|
||||||
|
if (d >= ia && d <= fa)
|
||||||
|
return anno;
|
||||||
|
if (prevesc) *prevesc = anno;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::create()
|
||||||
|
{
|
||||||
|
TApplication::create();
|
||||||
|
|
||||||
|
_pcon = new TLocalisamfile (LF_PCON);
|
||||||
|
_clifo = new TLocalisamfile (LF_CLIFO);
|
||||||
|
|
||||||
|
TString80 tmpmov = "%";
|
||||||
|
tmpmov << get_firm_dir();
|
||||||
|
tmpmov << "\\" << TEMP_MOV;
|
||||||
|
TString80 tmprmov = "%";
|
||||||
|
tmprmov << get_firm_dir();
|
||||||
|
tmprmov << "\\" << TEMP_RMOV;
|
||||||
|
TString80 tmprmoviva = "%";
|
||||||
|
tmprmoviva << get_firm_dir();
|
||||||
|
tmprmoviva << "\\" << TEMP_RMOVIVA;
|
||||||
|
|
||||||
|
_tmov = new TIsamtempfile(LF_MOV, tmpmov, 0);
|
||||||
|
_trmov = new TIsamtempfile(LF_RMOV, tmprmov, 0);
|
||||||
|
_tiva = new TIsamtempfile(LF_RMOVIVA, tmprmoviva, 0);
|
||||||
|
|
||||||
|
_rec_mov = new TRectype (LF_MOV);
|
||||||
|
|
||||||
|
dispatch_e_menu (BAR_ITEM(1));
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::destroy()
|
||||||
|
{
|
||||||
|
delete _pcon;
|
||||||
|
delete _clifo;
|
||||||
|
|
||||||
|
delete _tmov;
|
||||||
|
delete _trmov;
|
||||||
|
delete _tiva;
|
||||||
|
|
||||||
|
delete _rec_mov;
|
||||||
|
|
||||||
|
return TApplication::destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::set()
|
||||||
|
{
|
||||||
|
_dittaric = get_firm();
|
||||||
|
|
||||||
|
if (!esegui_controlli()) return FALSE;
|
||||||
|
|
||||||
|
if (!video())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::video()
|
||||||
|
{
|
||||||
|
TMask msk ("cg2802a");
|
||||||
|
KEY tasto;
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
tasto = msk.run();
|
||||||
|
|
||||||
|
if (tasto != K_ENTER) return FALSE;
|
||||||
|
|
||||||
|
if (esiste_testata_mov(msk))
|
||||||
|
{
|
||||||
|
TMask mask ("cg2802b");
|
||||||
|
|
||||||
|
mask.set_handler(F_REGIVA, codice_registro_hnd);
|
||||||
|
mask.set_handler(F_CODCAUS, codice_causale_hnd);
|
||||||
|
|
||||||
|
setta_campi_maschera(mask);
|
||||||
|
|
||||||
|
tasto = mask.run();
|
||||||
|
|
||||||
|
switch (tasto)
|
||||||
|
{
|
||||||
|
case K_ESC :
|
||||||
|
break;
|
||||||
|
|
||||||
|
case K_QUIT :
|
||||||
|
break;
|
||||||
|
|
||||||
|
case K_SAVE :
|
||||||
|
{
|
||||||
|
annulla(mask);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (tasto != K_QUIT); //K_ENTER
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::esiste_testata_mov(TMask& m)
|
||||||
|
{
|
||||||
|
long nrec;
|
||||||
|
|
||||||
|
_numreg = m.get_long(F_NUMREG);
|
||||||
|
|
||||||
|
_tmov->setkey(1);
|
||||||
|
_tmov->zero();
|
||||||
|
_tmov->put(MOV_NUMREG, _numreg);
|
||||||
|
|
||||||
|
if (_tmov->read() == NOERR)
|
||||||
|
{
|
||||||
|
nrec = _tmov->get_long(MOV_NUMGIO);
|
||||||
|
nrec += _tras_file.start('Z');
|
||||||
|
|
||||||
|
_tras_file.read_rec_trasfer(nrec);
|
||||||
|
_record = _tras_file.read_rec();
|
||||||
|
|
||||||
|
char annullato = _record.sub(248,249)[0];
|
||||||
|
|
||||||
|
if (annullato == 'A')
|
||||||
|
return error_box("Registrazione presente ma gia' ANNULLATA in precedenza");
|
||||||
|
|
||||||
|
*_rec_mov = _tmov->curr();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return error_box("Registrazione richiesta NON PRESENTE tra i movimenti in trasferimento");
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TAnn_mov::setta_campi_maschera(TMask& m)
|
||||||
|
{
|
||||||
|
TDate datareg (_rec_mov->get_date(MOV_DATAREG));
|
||||||
|
TDate datadoc (_rec_mov->get_date(MOV_DATADOC));
|
||||||
|
TString numdoc = _rec_mov->get (MOV_NUMDOC);
|
||||||
|
TString regiva = _rec_mov->get (MOV_REG);
|
||||||
|
regiva.trim();
|
||||||
|
long protiva = _rec_mov->get_long(MOV_PROTIVA);
|
||||||
|
TString codcaus = _rec_mov->get (MOV_CODCAUS);
|
||||||
|
|
||||||
|
m.set(F_NUMREG, _numreg);
|
||||||
|
m.set(F_DATAREG, datareg.string());
|
||||||
|
m.set(F_DATADOC, datadoc.string());
|
||||||
|
m.set(F_NUMDOC, numdoc);
|
||||||
|
m.set(F_REGIVA, regiva);
|
||||||
|
m.set(F_PROTIVA, protiva);
|
||||||
|
m.set(F_CODCAUS, codcaus);
|
||||||
|
|
||||||
|
m.disable(F_NUMREG);
|
||||||
|
m.disable(F_DATAREG);
|
||||||
|
m.disable(F_DATADOC);
|
||||||
|
m.disable(F_NUMDOC);
|
||||||
|
m.disable(F_REGIVA);
|
||||||
|
m.disable(F_PROTIVA);
|
||||||
|
m.disable(F_CODCAUS);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TAnn_mov::annulla(TMask& m)
|
||||||
|
{
|
||||||
|
TRectype* rec_rmov,* rec_riva;
|
||||||
|
rec_rmov = new TRectype (LF_RMOV);
|
||||||
|
|
||||||
|
long numreg = m.get_long(F_NUMREG);
|
||||||
|
|
||||||
|
_trmov->setkey(1);
|
||||||
|
_trmov->zero();
|
||||||
|
_trmov->put(RMV_NUMREG, numreg);
|
||||||
|
*rec_rmov = _trmov->curr();
|
||||||
|
|
||||||
|
for (_trmov->read(); !_trmov->eof(); _trmov->next())
|
||||||
|
{
|
||||||
|
if (_trmov->curr() > *rec_rmov) break;
|
||||||
|
|
||||||
|
long numrec = _trmov->get_int(RMV_ANNOES);
|
||||||
|
numrec += _tras_file.start('Z');
|
||||||
|
|
||||||
|
_tras_file.read_rec_trasfer(numrec); //Leggo il record della prima nota
|
||||||
|
|
||||||
|
_tras_file.put("A","Z1",51,numrec);
|
||||||
|
|
||||||
|
_tras_file.write(numrec);
|
||||||
|
}
|
||||||
|
|
||||||
|
delete rec_rmov;
|
||||||
|
|
||||||
|
rec_riva = new TRectype (LF_RMOVIVA);
|
||||||
|
|
||||||
|
_tiva->setkey(1);
|
||||||
|
_tiva->zero();
|
||||||
|
_tiva->put(RMI_NUMREG, numreg);
|
||||||
|
*rec_riva = _tiva->curr();
|
||||||
|
|
||||||
|
for (_tiva->read(); !_tiva->eof(); _tiva->next())
|
||||||
|
{
|
||||||
|
if (_tiva->curr() > *rec_riva) break;
|
||||||
|
|
||||||
|
long numrec = _tiva->get_int(RMI_ANNOES);
|
||||||
|
numrec += _tras_file.start('U');
|
||||||
|
|
||||||
|
_tras_file.read_rec_trasfer(numrec); //Leggo il record della prima nota
|
||||||
|
|
||||||
|
_tras_file.put("A","U1",51,numrec);
|
||||||
|
|
||||||
|
_tras_file.write(numrec);
|
||||||
|
}
|
||||||
|
|
||||||
|
delete rec_riva;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::leggi_trasfer()
|
||||||
|
{
|
||||||
|
_trasf = _tras_file.path(_dittaric);
|
||||||
|
_trasf << "\\trasfer";
|
||||||
|
|
||||||
|
_tras_file.open(_trasf);
|
||||||
|
|
||||||
|
if (_tras_file.exist())
|
||||||
|
{
|
||||||
|
if (_tras_file.read_control_rec())
|
||||||
|
_control_rec = _tras_file.record();
|
||||||
|
else
|
||||||
|
return error_box("Rilevati gravi errori negli archivi:procedura interrotta");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return error_box("Al momento non presenti trasferimenti attivi sulla ditta selezionata");
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::codice_registro_hnd(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
TTable reg ("REG");
|
||||||
|
TString descr,dep;
|
||||||
|
|
||||||
|
if (k == K_TAB)
|
||||||
|
{
|
||||||
|
TString codreg = f.get();
|
||||||
|
char cr = codreg[0];
|
||||||
|
TDate datareg (f.mask().get(F_DATAREG));
|
||||||
|
int anno = date2esc(datareg);
|
||||||
|
|
||||||
|
if (isdigit(cr))
|
||||||
|
dep.format("%04d%03c", anno, cr);
|
||||||
|
else
|
||||||
|
dep.format("%04d%-3c", anno, cr);
|
||||||
|
|
||||||
|
reg.zero();
|
||||||
|
reg.put("CODTAB", dep);
|
||||||
|
if (reg.read() == NOERR)
|
||||||
|
{
|
||||||
|
descr = reg.get("S0");
|
||||||
|
f.mask().set(F_DESCRREG, descr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::codice_causale_hnd(TMask_field& f, KEY k)
|
||||||
|
{
|
||||||
|
TLocalisamfile cau (LF_CAUSALI);
|
||||||
|
TString descr;
|
||||||
|
|
||||||
|
if (k == K_TAB)
|
||||||
|
{
|
||||||
|
TString codcau = f.get();
|
||||||
|
|
||||||
|
cau.setkey(1);
|
||||||
|
cau.zero();
|
||||||
|
cau.put("CODCAUS", codcau);
|
||||||
|
if (cau.read() == NOERR)
|
||||||
|
{
|
||||||
|
descr = cau.get("DESCR");
|
||||||
|
f.mask().set(F_DESCRCAU, descr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::esegui_controlli()
|
||||||
|
{
|
||||||
|
TConfig conf(CONFIG_DITTA);
|
||||||
|
|
||||||
|
_std = conf.get("FlStTra");
|
||||||
|
|
||||||
|
if (!prefhndl->exist(_dittaric))
|
||||||
|
return error_box("Rilevati GRAVI ERRORI negli archivi: procedura interrotta");
|
||||||
|
|
||||||
|
if (!leggi_trasfer())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (!controlli())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::controlli()
|
||||||
|
{
|
||||||
|
if (_std == "M")
|
||||||
|
return error_box("Variazione NON POSSIBILE: trasferimento movimenti gia' iniziato");
|
||||||
|
|
||||||
|
if (_std == "*")
|
||||||
|
{
|
||||||
|
warning_box("Trasferimento interamente completato: proseguire per cancellare il file");
|
||||||
|
fremove(_trasf);
|
||||||
|
setta_parametri_record(""," ",FALSE);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TAnn_mov::leggi_record_controllo()
|
||||||
|
{
|
||||||
|
_tras_file.read_control_rec();
|
||||||
|
_control_rec = _tras_file.record();
|
||||||
|
}
|
||||||
|
|
||||||
|
void TAnn_mov::setta_parametri_record(const TString& sigla,const TString& flag,bool uselab)
|
||||||
|
{
|
||||||
|
TConfig conf (CONFIG_DITTA);
|
||||||
|
|
||||||
|
conf.set("FlStTra", flag);
|
||||||
|
|
||||||
|
if (uselab)
|
||||||
|
{
|
||||||
|
leggi_record_controllo();
|
||||||
|
_control_rec.overwrite(sigla,240);
|
||||||
|
|
||||||
|
const int size = 256;
|
||||||
|
|
||||||
|
_tras_file.write_control_rec(_control_rec, size);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TAnn_mov::menu(MENU_TAG m)
|
||||||
|
{
|
||||||
|
if (m == BAR_ITEM(1))
|
||||||
|
return set();
|
||||||
|
return FALSE;
|
||||||
|
}
|
55
cg/cg2802.h
Executable file
55
cg/cg2802.h
Executable file
@ -0,0 +1,55 @@
|
|||||||
|
// Annullamento movimenti da ricevere
|
||||||
|
|
||||||
|
#include <mask.h>
|
||||||
|
#include <applicat.h>
|
||||||
|
#include <relation.h>
|
||||||
|
#include <tabutil.h>
|
||||||
|
#include <utility.h>
|
||||||
|
#include <config.h>
|
||||||
|
#include <urldefid.h>
|
||||||
|
#include <execp.h>
|
||||||
|
#include <prefix.h>
|
||||||
|
#include <lffiles.h>
|
||||||
|
#include <nditte.h>
|
||||||
|
|
||||||
|
#include "cg2800.h"
|
||||||
|
|
||||||
|
HIDDEN int date2esc(const TDate& d, int* prevesc = NULL);
|
||||||
|
|
||||||
|
class TAnn_mov : public TApplication
|
||||||
|
{
|
||||||
|
TIsamtempfile* _tmov,* _trmov,* _tiva;
|
||||||
|
TLocalisamfile* _pcon,* _clifo;
|
||||||
|
TRectype* _rec_mov;
|
||||||
|
TTransfer_file _tras_file;
|
||||||
|
|
||||||
|
TString _trasf,_std,_uselab,_record,_nrec_file,_sigle_file,_key;
|
||||||
|
long _dittaric,_numreg;
|
||||||
|
TString _control_rec;
|
||||||
|
|
||||||
|
public:
|
||||||
|
TString _titolo;
|
||||||
|
|
||||||
|
virtual bool create();
|
||||||
|
virtual bool destroy();
|
||||||
|
virtual bool menu(MENU_TAG m);
|
||||||
|
|
||||||
|
bool set();
|
||||||
|
|
||||||
|
bool esegui_controlli();
|
||||||
|
bool leggi_trasfer();
|
||||||
|
bool controlli();
|
||||||
|
void leggi_record_controllo();
|
||||||
|
bool video();
|
||||||
|
void annulla(TMask& m);
|
||||||
|
bool esiste_testata_mov(TMask& m);
|
||||||
|
|
||||||
|
void setta_campi_maschera(TMask& m);
|
||||||
|
|
||||||
|
void setta_parametri_record(const TString& sigla,const TString& flag,bool uselab);
|
||||||
|
|
||||||
|
static bool codice_registro_hnd (TMask_field& f, KEY k);
|
||||||
|
static bool codice_causale_hnd (TMask_field& f, KEY k);
|
||||||
|
|
||||||
|
TAnn_mov() {};
|
||||||
|
};
|
25
cg/cg2802a.uml
Executable file
25
cg/cg2802a.uml
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
#include "cg2800.h"
|
||||||
|
|
||||||
|
PAGE "" -1 -1 50 6
|
||||||
|
|
||||||
|
NUMBER F_NUMREG 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "Numero di registrazione "
|
||||||
|
HELP "Inserire il numero di registrazione che si vuole modificare"
|
||||||
|
FLAGS "RZ"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
86
cg/cg2802b.uml
Executable file
86
cg/cg2802b.uml
Executable file
@ -0,0 +1,86 @@
|
|||||||
|
#include "cg2800.h"
|
||||||
|
|
||||||
|
TOOLBAR "" 0 20 0 2
|
||||||
|
|
||||||
|
BUTTON DLG_SAVEREC 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -15 -1 "~Registra"
|
||||||
|
MESSAGE EXIT,K_SAVE
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_CANCEL 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -45 -1 ""
|
||||||
|
MESSAGE EXIT,K_ESC
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -55 -1 ""
|
||||||
|
MESSAGE EXIT,K_QUIT
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "" -1 -1 78 18
|
||||||
|
|
||||||
|
NUMBER F_NUMREG 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Numero registrazione "
|
||||||
|
HELP "Inserire il numero di registrazione che si vuole modificare"
|
||||||
|
FLAGS "RZ"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAREG
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 3 "Data registrazione "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_NUMDOC 7
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 5 "Numero docomento "
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATADOC
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 6 "Data del documento "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_REGIVA 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 8 "Registro IVA "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCRREG 49
|
||||||
|
BEGIN
|
||||||
|
PROMPT 28 8 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_PROTIVA 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 9 "Numero protocollo iva "
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_CODCAUS 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 11 "Codice causale "
|
||||||
|
FLAGS "Z"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCRCAU 49
|
||||||
|
BEGIN
|
||||||
|
PROMPT 28 11 ""
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DESCR 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 13 "Descrizione aggiuntiva "
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
100
cg/cg2803a.uml
Executable file
100
cg/cg2803a.uml
Executable file
@ -0,0 +1,100 @@
|
|||||||
|
#include "cg2800.h"
|
||||||
|
|
||||||
|
PAGE "" -1 -1 78 20
|
||||||
|
|
||||||
|
NUMBER F_CODDITTARIC 5
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "Ditta ricevente "
|
||||||
|
USE LF_NDITTE KEY 1
|
||||||
|
INPUT CODDITTA F_CODDITTARIC
|
||||||
|
OUTPUT F_RAGSOC RAGSOC
|
||||||
|
FLAGS "RDZ"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_RAGSOC 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 2 "Ragione sociale "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_NULTRAS 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "Numero ultimo invio ricevuto "
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATAULTRAS
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 6 "Data ultimo invio ricevuto "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_STD 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 8 "Stato del trasferimento "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_USELAB 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 34 8 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_STATO 14
|
||||||
|
BEGIN
|
||||||
|
PROMPT 38 8 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_AGGCAUSALI 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 10 "Aggiornamento causali gia' presenti "
|
||||||
|
ITEM "N|No"
|
||||||
|
ITEM "D|Descr."
|
||||||
|
ITEM "T|Tutto"
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_AGGCLIFO 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 11 "Aggiornamento Clienti/Fornitori gia' presenti "
|
||||||
|
ITEM "N|No"
|
||||||
|
ITEM "D|Descr."
|
||||||
|
ITEM "T|Tutto"
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_AGGPCON 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 12 "Aggiornamento voci Piano dei Conti gia' presenti "
|
||||||
|
ITEM "N|No"
|
||||||
|
ITEM "D|Descr."
|
||||||
|
ITEM "T|Tutto"
|
||||||
|
END
|
||||||
|
|
||||||
|
LIST F_AGGIVD 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 13 "Aggiornamento classi Piano dei Conti "
|
||||||
|
ITEM "N|No"
|
||||||
|
ITEM "D|Descr."
|
||||||
|
ITEM "T|Tutto"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_FATTEM
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 14 "Riattribuzione num. protocollo su fatture emesse "
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_FATTRIC
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 15 "Riattribuzione num. protocollo su fatture ricevute "
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_OK 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -12 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_QUIT 9 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -22 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user