Modifiche per l'introduzione della ricezione del Saldaconto

git-svn-id: svn://10.65.10.50/trunk@2962 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
ale 1996-06-04 14:54:43 +00:00
parent 4d72002241
commit bd2e2c034e
47 changed files with 15378 additions and 10388 deletions

View File

@ -1,32 +1,32 @@
#include <xvt.h>
#include <stdlib.h>
#include "cg6.h"
int main(int argc,char** argv)
{
const int n = (argc > 1) ? atoi(&argv[1][1]) : 0;
switch(n)
{
case 0:
cg6100(argc, argv); break;
case 2:
cg6300(argc, argv); break;
case 3:
cg6400(argc, argv); break;
case 4:
cg6500(argc, argv); break;
case 5:
cg6600(argc, argv); break;
case 6:
cg6700(argc, argv); break;
case 7:
cg6800(argc, argv); break;
case 8:
cg6900(argc, argv); break;
default:
break;
}
return 0;
}
#include <xvt.h>
#include <stdlib.h>
#include "cg6.h"
int main(int argc,char** argv)
{
const int n = (argc > 1) ? atoi(&argv[1][1]) : 0;
switch(n)
{
case 0:
cg6100(argc, argv); break;
case 2:
cg6300(argc, argv); break;
case 3:
cg6400(argc, argv); break;
case 4:
cg6500(argc, argv); break;
case 5:
cg6600(argc, argv); break;
case 6:
cg6700(argc, argv); break;
case 7:
cg6800(argc, argv); break;
case 8:
cg6900(argc, argv); break;
default:
break;
}
return 0;
}

View File

@ -1,13 +1,13 @@
#ifndef __CG6_H
#define __CG6_H
int cg6100(int argc, char* argv[]);
int cg6300(int argc, char* argv[]);
int cg6400(int argc, char* argv[]);
int cg6500(int argc, char* argv[]);
int cg6600(int argc, char* argv[]);
int cg6700(int argc, char* argv[]);
int cg6800(int argc, char* argv[]);
int cg6900(int argc, char* argv[]);
#endif // __CG6_H
#ifndef __CG6_H
#define __CG6_H
int cg6100(int argc, char* argv[]);
int cg6300(int argc, char* argv[]);
int cg6400(int argc, char* argv[]);
int cg6500(int argc, char* argv[]);
int cg6600(int argc, char* argv[]);
int cg6700(int argc, char* argv[]);
int cg6800(int argc, char* argv[]);
int cg6900(int argc, char* argv[]);
#endif // __CG6_H

View File

@ -1,54 +1,54 @@
#include <default.url>
MENU TASK_MENUBAR
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(1)
MENU MENU_BAR(1)
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"
MENUBAR MENU_BAR(8)
MENU MENU_BAR(8)
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(9)
MENU MENU_BAR(9)
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(10)
MENU MENU_BAR(10)
SUBMENU MENU_FILE "~File"
#include <default.url>
MENU TASK_MENUBAR
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(1)
MENU MENU_BAR(1)
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"
MENUBAR MENU_BAR(8)
MENU MENU_BAR(8)
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(9)
MENU MENU_BAR(9)
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(10)
MENU MENU_BAR(10)
SUBMENU MENU_FILE "~File"

View File

@ -1,399 +1,399 @@
// Ricezione automatica
#include <applicat.h>
#include <mask.h>
#include <tabutil.h>
#include <utility.h>
#include <config.h>
#include <urldefid.h>
#include <prefix.h>
#include <execp.h>
#include <mailbox.h>
#include "cglib04.h"
class TRic_auto : public TApplication
{
TTransfer_file* _tras_file;
TString _control_rec, _sigle_file, _nrec_file;
TDate _dataultras;
int _nultras;
long _ditta;
char _trasfer;
char _tipo;
bool _cancella_header;
public:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool main_loop();
void stato_trasferimento(TString& std);
bool controlli_preliminari();
bool leggi_trasfer();
bool leggi_header();
bool set_flag();
TRic_auto(const char* ditta, char trasfer, char tipo);
};
HIDDEN TRic_auto& app() { return (TRic_auto &) main_app(); }
TRic_auto::TRic_auto(const char* ditta, char trasfer, char tipo) :
_ditta(atol(ditta)), _trasfer(trasfer), _tipo(tipo)
{}
void TRic_auto::stato_trasferimento(TString& std)
{
TConfig conf (CONFIG_DITTA); // Recupero stato trasferimento
std = conf.get("FlStTra"); // dai parametri ditta
}
bool TRic_auto::main_loop()
{
TString std = "";
if (!controlli_preliminari())
return FALSE;
set_flag();
stato_trasferimento(std);
if (std == "T")
{
TString appname = "cg6 -5 T A"; // Lancio il programma di ricezione delle tabelle
// con il parametro A perche' si tratta di ricezione
TExternal_app a (appname); // in automatico
a.run();
}
stato_trasferimento(std);
if (std == "C")
{
TString appname = "cg6 -6 A "; // Lancio il programma di lista controllo movimenti
appname << _tipo;
TExternal_app a (appname);
a.run();
TMailbox m;
TMessage* msg = m.next_s("");
int subj;
if (msg != NULL)
{
subj = atoi(msg->body());
TFilename dirtemp;
dirtemp.tempdir();
dirtemp << "cg6700.mbx";
fremove(dirtemp);
if (!subj)
return FALSE;
}
}
stato_trasferimento(std);
if (std == "M")
{
TString appname = "cg6 -5 M A"; // Lancio il programma di ricezione dei movimenti
// con il parametro A perche' si tratta di ricezione
TExternal_app a (appname); // in automatico
a.run();
}
stato_trasferimento(std);
if (std == "*")
{
_cancella_header = TRUE;
_tras_file->remove_all();
TString trasf;
trasf = _tras_file->path(_ditta);
trasf << "\\trasfer";
fremove(trasf);
TConfig conf (CONFIG_DITTA); // Inizializzo stato trasferimento
conf.set("FlStTra"," "); // dei parametri ditta
message_box("Il trasferimento e' stato INTERAMENTE COMPLETATO");
}
return FALSE;
}
bool TRic_auto::controlli_preliminari()
{
TString std = "";
if (!prefix().exist(_ditta)) // Controllo esistenza
return error_box("Rilevati ERRORI GRAVI nel trasferimento"); // direttorio della ditta
set_firm(_ditta);
stato_trasferimento(std);
if (std == "")
{
if (!leggi_trasfer()) // Controllo se esiste il file trasfer
return error_box("Il file di trasferimento non e' presente nella directory %s",_tras_file->path(_ditta));
TString appname = "cg6 -3 "; // Lancio il programma che trasferisce
appname << _trasfer << " A"; // i dati dal trasfer agli archivi temporanei
TExternal_app a (appname);
a.run();
}
if (!leggi_header()) // Controllo l'esistenza del record
return error_box("Rilevati ERRORI GRAVI nel trasferimento"); // di controllo nel file header
TString ult_file = _tras_file->ult_file();
TString key = _tras_file->key();
if ( (std != "*" && std != "") || (ult_file != "" || key != "") )
return error_box("Ultimo trasferimento NON COMPLETATO: completarlo");
if (std == "*")
{
_cancella_header = TRUE;
_tras_file->remove_all();
TString trasf;
trasf = _tras_file->path(_ditta);
trasf << "\\trasfer";
fremove(trasf);
TConfig conf (CONFIG_DITTA); // Inizializzo stato trasferimento
conf.set("FlStTra"," "); // dei parametri ditta
}
return TRUE;
}
bool TRic_auto::leggi_trasfer()
{
TString80 trasf;
trasf = _tras_file->path(_ditta);
trasf << "\\trasfer";
_tras_file->open(trasf);
if (_tras_file->exist())
return TRUE;
return FALSE;
}
bool TRic_auto::leggi_header()
{
TString header;
header = _tras_file->path(_ditta);
header << HEADER;
_tras_file->open(header);
if (_tras_file->exist())
{
if (_tras_file->read_control_rec())
{
_control_rec = _tras_file->record();
TString tiporecord = _control_rec.sub(0,2);
if (tiporecord != " 1")
return FALSE;
}
else
return FALSE;
}
else
return FALSE;
_tras_file->close();
return TRUE;
}
bool TRic_auto::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");
TString header;
header = _tras_file->path(_ditta);
header << HEADER;
_tras_file->open(header);
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();
}
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 == "B")
{
if (nrec > 0)
{
flag = "C";
fatto = FALSE;
}
}
else
{
flag = "*";
fatto = FALSE;
}
if (flag == "T")
uselab = sigla;
else
uselab = "";
}
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,86);
record.overwrite(_nrec_file,95);
TString agg(7);
agg[0] = ' ';
agg[1] = 'D';
agg[2] = 'D';
agg[3] = 'D';
agg[4] = ' ';
agg[5] = ' ';
agg[6] = '\0';
record.overwrite(agg,234);
record.overwrite(uselab,240);
TString str;
str.spaces(60);
record.overwrite(str,241);
const int size = 1024;
if (!_tras_file->write_control_rec(record, size))
return FALSE;
_tras_file->close();
}
conf.set("FlStTra", flag);
return TRUE;
}
bool TRic_auto::create()
{
TApplication::create();
_cancella_header = FALSE;
_tras_file = new TTransfer_file(_trasfer);
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TRic_auto::destroy()
{
delete _tras_file;
if (_cancella_header)
{
TString header;
header = _tras_file->path(_ditta);
header << HEADER;
fremove(header);
}
return TApplication::destroy();
}
bool TRic_auto::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return main_loop();
return FALSE;
}
int cg6100 (int argc, char* argv[])
{
char p4 = '\0';
if (argc > 5)
p4 = *argv[4];
TRic_auto main_app(argv[2],*argv[3],p4);
main_app.run(argc, argv,"Ricezione automatica");
return TRUE;
}
// Ricezione automatica
#include <applicat.h>
#include <mask.h>
#include <tabutil.h>
#include <utility.h>
#include <config.h>
#include <urldefid.h>
#include <prefix.h>
#include <execp.h>
#include <mailbox.h>
#include "cglib04.h"
class TRic_auto : public TApplication
{
TTransfer_file* _tras_file;
TString _control_rec, _sigle_file, _nrec_file;
TDate _dataultras;
int _nultras;
long _ditta;
char _trasfer;
char _tipo;
bool _cancella_header;
public:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool main_loop();
void stato_trasferimento(TString& std);
bool controlli_preliminari();
bool leggi_trasfer();
bool leggi_header();
bool set_flag();
TRic_auto(const char* ditta, char trasfer, char tipo);
};
HIDDEN TRic_auto& app() { return (TRic_auto &) main_app(); }
TRic_auto::TRic_auto(const char* ditta, char trasfer, char tipo) :
_ditta(atol(ditta)), _trasfer(trasfer), _tipo(tipo)
{}
void TRic_auto::stato_trasferimento(TString& std)
{
TConfig conf (CONFIG_DITTA); // Recupero stato trasferimento
std = conf.get("FlStTra"); // dai parametri ditta
}
bool TRic_auto::main_loop()
{
TString std = "";
if (!controlli_preliminari())
return FALSE;
set_flag();
stato_trasferimento(std);
if (std == "T")
{
TString appname = "cg6 -5 T A"; // Lancio il programma di ricezione delle tabelle
// con il parametro A perche' si tratta di ricezione
TExternal_app a (appname); // in automatico
a.run();
}
stato_trasferimento(std);
if (std == "C")
{
TString appname = "cg6 -6 A "; // Lancio il programma di lista controllo movimenti
appname << _tipo;
TExternal_app a (appname);
a.run();
TMailbox m;
TMessage* msg = m.next_s("");
int subj;
if (msg != NULL)
{
subj = atoi(msg->body());
TFilename dirtemp;
dirtemp.tempdir();
dirtemp << "cg6700.mbx";
fremove(dirtemp);
if (!subj)
return FALSE;
}
}
stato_trasferimento(std);
if (std == "M")
{
TString appname = "cg6 -5 M A"; // Lancio il programma di ricezione dei movimenti
// con il parametro A perche' si tratta di ricezione
TExternal_app a (appname); // in automatico
a.run();
}
stato_trasferimento(std);
if (std == "*")
{
_cancella_header = TRUE;
_tras_file->remove_all();
TString trasf;
trasf = _tras_file->path(_ditta);
trasf << "\\trasfer";
fremove(trasf);
TConfig conf (CONFIG_DITTA); // Inizializzo stato trasferimento
conf.set("FlStTra"," "); // dei parametri ditta
message_box("Il trasferimento e' stato INTERAMENTE COMPLETATO");
}
return FALSE;
}
bool TRic_auto::controlli_preliminari()
{
TString std = "";
if (!prefix().exist(_ditta)) // Controllo esistenza
return error_box("Rilevati ERRORI GRAVI nel trasferimento"); // direttorio della ditta
set_firm(_ditta);
stato_trasferimento(std);
if (std == "")
{
if (!leggi_trasfer()) // Controllo se esiste il file trasfer
return error_box("Il file di trasferimento non e' presente nella directory %s",_tras_file->path(_ditta));
TString appname = "cg6 -3 "; // Lancio il programma che trasferisce
appname << _trasfer << " A"; // i dati dal trasfer agli archivi temporanei
TExternal_app a (appname);
a.run();
}
if (!leggi_header()) // Controllo l'esistenza del record
return error_box("Rilevati ERRORI GRAVI nel trasferimento"); // di controllo nel file header
TString ult_file = _tras_file->ult_file();
TString key = _tras_file->key();
if ( (std != "*" && std != "") || (ult_file != "" || key != "") )
return error_box("Ultimo trasferimento NON COMPLETATO: completarlo");
if (std == "*")
{
_cancella_header = TRUE;
_tras_file->remove_all();
TString trasf;
trasf = _tras_file->path(_ditta);
trasf << "\\trasfer";
fremove(trasf);
TConfig conf (CONFIG_DITTA); // Inizializzo stato trasferimento
conf.set("FlStTra"," "); // dei parametri ditta
}
return TRUE;
}
bool TRic_auto::leggi_trasfer()
{
TString80 trasf;
trasf = _tras_file->path(_ditta);
trasf << "\\trasfer";
_tras_file->open(trasf);
if (_tras_file->exist())
return TRUE;
return FALSE;
}
bool TRic_auto::leggi_header()
{
TString header;
header = _tras_file->path(_ditta);
header << HEADER;
_tras_file->open(header);
if (_tras_file->exist())
{
if (_tras_file->read_control_rec())
{
_control_rec = _tras_file->record();
TString tiporecord = _control_rec.sub(0,2);
if (tiporecord != " 1")
return FALSE;
}
else
return FALSE;
}
else
return FALSE;
_tras_file->close();
return TRUE;
}
bool TRic_auto::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");
TString header;
header = _tras_file->path(_ditta);
header << HEADER;
_tras_file->open(header);
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();
}
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 == "B")
{
if (nrec > 0)
{
flag = "C";
fatto = FALSE;
}
}
else
{
flag = "*";
fatto = FALSE;
}
if (flag == "T")
uselab = sigla;
else
uselab = "";
}
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,86);
record.overwrite(_nrec_file,95);
TString agg(7);
agg[0] = ' ';
agg[1] = 'D';
agg[2] = 'D';
agg[3] = 'D';
agg[4] = ' ';
agg[5] = ' ';
agg[6] = '\0';
record.overwrite(agg,234);
record.overwrite(uselab,240);
TString str;
str.spaces(60);
record.overwrite(str,241);
const int size = 1024;
if (!_tras_file->write_control_rec(record, size))
return FALSE;
_tras_file->close();
}
conf.set("FlStTra", flag);
return TRUE;
}
bool TRic_auto::create()
{
TApplication::create();
_cancella_header = FALSE;
_tras_file = new TTransfer_file(_trasfer);
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TRic_auto::destroy()
{
delete _tras_file;
if (_cancella_header)
{
TString header;
header = _tras_file->path(_ditta);
header << HEADER;
fremove(header);
}
return TApplication::destroy();
}
bool TRic_auto::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return main_loop();
return FALSE;
}
int cg6100 (int argc, char* argv[])
{
char p4 = '\0';
if (argc > 5)
p4 = *argv[4];
TRic_auto main_app(argv[2],*argv[3],p4);
main_app.run(argc, argv,"Ricezione automatica");
return TRUE;
}

View File

@ -1,103 +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 (prefix().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;
}
cg6300(int argc, char* argv[])
{
Tabtra_application a;
a.run(argc,argv, "Tabelle");
return 0;
}
#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 (prefix().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;
}
cg6300(int argc, char* argv[])
{
Tabtra_application a;
a.run(argc,argv, "Tabelle");
return 0;
}

View File

@ -18,8 +18,8 @@
#include <nditte.h>
#include "cglib04.h"
#include "cg6400.h"
#include "saldacon.h"
class TRic_archivi : public TApplication
{
@ -33,6 +33,9 @@ class TRic_archivi : public TApplication
TLocalisamfile* _rmov;
TLocalisamfile* _rmoviva;
TLocalisamfile* _occas;
TLocalisamfile* _part;
TLocalisamfile* _scad;
TLocalisamfile* _pagsca;
TLocalisamfile* _tab;
TArchive _arc;
@ -49,15 +52,13 @@ class TRic_archivi : public TApplication
TDate _datatras,_datatrasp,_dataultras_tab,_dataultras;
TString _sigle_file,_nrec_file,_trasfhard;
char _agg_cau,_agg_pcon,_agg_cls,_agg_clifo,_agg_fatatt,_agg_fatpas;
TString _titolo;
public:
const char* titolo() { return _titolo; }
TString _titolo;
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
virtual bool menu(MENU_TAG m);
bool main_loop();
bool leggi_marker();
bool leggi_marker_rep();
@ -105,6 +106,9 @@ bool TRic_archivi::create()
_rmov = new TLocalisamfile (LF_RMOV);
_rmoviva = new TLocalisamfile (LF_RMOVIVA);
_occas = new TLocalisamfile (LF_OCCAS);
_part = new TLocalisamfile (LF_PARTITE);
_scad = new TLocalisamfile (LF_SCADENZE);
_pagsca = new TLocalisamfile (LF_PAGSCA);
_tab = new TLocalisamfile (LF_TAB);
_numdisk = 1;
@ -130,7 +134,10 @@ bool TRic_archivi::destroy()
delete _mov;
delete _rmov;
delete _rmoviva;
delete _occas;
delete _occas;
delete _part;
delete _scad;
delete _pagsca;
delete _tab;
return TApplication::destroy();
@ -882,8 +889,8 @@ int cg6400 (int argc, char* argv[])
if (argc > 4)
p3 = *argv[3];
TRic_archivi app(*argv[2],p3);
app.run(argc, argv, app.titolo());
TRic_archivi main_app(*argv[2],p3);
main_app.run(argc, argv,main_app._titolo);
return TRUE;
}

View File

@ -1,85 +1,85 @@
#include "cg6400.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
#include "cg6400.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

View File

@ -1,36 +1,36 @@
#include "cg6400.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
#include "cg6400.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

View File

@ -1,24 +1,24 @@
#include "cg6400.h"
PAGE "" -1 -1 40 6
LIST F_DRIVE 2
BEGIN
PROMPT 6 2 "Disco "
ITEM "A:|A:"
ITEM "B:|B:"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK
#include "cg6400.h"
PAGE "" -1 -1 40 6
LIST F_DRIVE 2
BEGIN
PROMPT 6 2 "Disco "
ITEM "A:|A:"
ITEM "B:|B:"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

File diff suppressed because it is too large Load Diff

View File

@ -23,10 +23,14 @@
#include <rcausali.h>
#include <causali.h>
#include <occas.h>
#include <partite.h>
#include <scadenze.h>
#include <pagsca.h>
#include "cglib04.h"
#include "cglib.h"
#include "cg2103.h"
#include "saldacon.h"
#include "cg6600.h"
@ -34,8 +38,10 @@ class TRic_tab : public TApplication
{
TTable* _tab_tra;
TLocalisamfile* _caus,*_rcaus,*_clifo,*_pcon,*_mov,*_rmov,*_rmoviva,*_saldi,*_occas;
TIsamtempfile* _tcaus,*_trcaus,*_tclifo,*_tpcon,*_tmov,*_trmov,*_triva,*_toccas;
TLocalisamfile* _caus,*_rcaus,*_clifo,*_pcon,*_mov,*_rmov,*_rmoviva;
TLocalisamfile* _saldi,*_occas,*_part,*_scad,*_pagsca;
TIsamtempfile* _tcaus,*_trcaus,*_tclifo,*_tpcon,*_tmov,*_trmov,*_triva;
TIsamtempfile* _toccas,*_tpart,*_tscad,*_tpagsca;
TTable* _reg;
TTransfer_file _tras_file;
TArray _aggiorna;
@ -43,7 +49,7 @@ class TRic_tab : public TApplication
TSaldo_agg _sld;
TProgind* _prog;
int _numinv,_nultras,_annoes,_g,_c;
int _numinv,_nultras,_annoes,_g,_c,_nrig,_nrata;
TString _trasf,_ragsoc_dittar,_sigle_file,_std,_key,_nomeid,_dittainv;
long _dittaric,_numrec,_nreg,_s,_ndoc,_npiva,_nupiva;
TDate _dataultras,_datareg,_dreg,_ddoc;
@ -52,7 +58,8 @@ class TRic_tab : public TApplication
long _protiva,_uprotiva,_nprotiva,_nuprotiva,_numreg,_numreg_p,_numreg_piva,_nuovareg;
char _sez;
real _importo,_totdoc;
TString _tmpcaus,_tmprcaus,_tmpclifo,_tmpcon,_tmpmov,_tmprmov,_tmpriva,_tmpoccas;
TString _tmpcaus,_tmprcaus,_tmpclifo,_tmpcon,_tmpmov,_tmprmov,_tmpriva;
TString _tmpoccas,_tmppart,_tmpscad,_tmppagsca;
public:
TString _titolo;
@ -60,6 +67,7 @@ public:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
virtual void on_config_change();
bool main_loop();
bool video();
bool leggi_trasfer();
@ -87,15 +95,19 @@ public:
void scrivi_righePN(long numreg);
void ricevi_movIVA(TString& key, char sigla);
void scrivi_righeIVA(long numreg);
void ricevi_movSC(TString& key,char sigla);
long esiste_numreg(long nreg);
void num_protocollo();
long controlli_primanota();
long ulnumprot_reg(int anno,TString& codreg);
long ultima_registrazione();
void aggiorna_reg(int anno,TString& codreg,long ulnum);
char ricerca_causale(TString& field);
char ricerca_causale(TString& field);
bool esiste_partita(TString& key);
void rigaErata(char,int,int,long,int,TString&,int,int);
void aggiorna_temp_scad(char,int,int,long,int,TString&,int,int,int,int);
bool occasionali(TString& ocfpi);
long nuovaregSC(long nreg);
TRic_tab(char ric_tab_mov, char ric_auto = '\0');
};
@ -112,6 +124,11 @@ _scelta(toupper(ric_tab_mov)), _ric_auto(toupper(ric_auto))
_titolo = "Ricezione movimenti";
}
void TRic_tab::on_config_change()
{
TPartita::carica_allineamento(); // Necessario per utilizzare l'oggetto TPartita con un corretto allineamento
}
bool TRic_tab::create()
{
TApplication::create();
@ -134,6 +151,9 @@ bool TRic_tab::create()
_rmoviva = new TLocalisamfile (LF_RMOVIVA);
_saldi = new TLocalisamfile (LF_SALDI);
_occas = new TLocalisamfile (LF_OCCAS);
_part = new TLocalisamfile (LF_PARTITE);
_scad = new TLocalisamfile (LF_SCADENZE);
_pagsca = new TLocalisamfile (LF_PAGSCA);
}
_numrec = 1;
@ -168,6 +188,9 @@ bool TRic_tab::destroy()
delete _rmoviva;
delete _saldi;
delete _occas;
delete _part;
delete _scad;
delete _pagsca;
}
return TApplication::destroy();
@ -295,7 +318,7 @@ void TRic_tab::trasferimento()
uselab = (_tras_file.ult_file())[0];
posiz = _tras_file.num(uselab); //Ritorna la posizione della sigla all'interno dell'indice
key = _tras_file.key();
key.trim();
key.trim();
leggi_record_controllo();
@ -306,7 +329,7 @@ void TRic_tab::trasferimento()
last_tab = _tras_file.last_mov();
for (i = posiz; i < last_tab;i++)
{
{
long numero = atol(_record.mid( ((i * 6) + 95),6));
if (numero == 0) continue;
long nrec = ((_tras_file.nrec(i))+1);
@ -334,7 +357,11 @@ void TRic_tab::trasferimento()
case 'U':
message = "Ricezione Movimenti iva in corso... Prego attendere.";
cicli = _tmov->items();
break;
break;
case 'B':
message = "Ricezione Movimenti saldaconto in corso... Prego attendere.";
cicli = _tpart->items();
break;
default: break;
}
_prog = new TProgind(cicli,message,FALSE);
@ -358,7 +385,10 @@ void TRic_tab::trasferimento()
}
else
if (sigla == 'U')
ricevi_movIVA(key,sigla);
ricevi_movIVA(key,sigla);
else
if (sigla == 'B')
ricevi_movSC(key,sigla);
}
delete _prog;
key = ""; //Altrimenti in caso di ripartenza mi ripristina sempre la situazione
@ -1050,12 +1080,14 @@ void TRic_tab::ricevi_movPN(TString& key, char uselab)
_sld.set_movprovv(FALSE);
_sld.set_num_ulmov(_nreg);
_sld.set_data_ulmov(datareg);
char movap = ricerca_causale(codcaus);
if (movap == 'A')
_sld.set_tipo_saldo(apertura);
else if (movap == 'C')
_sld.set_tipo_saldo(chiusura);
// if (movap == 'A') // Sostituire con la parte commentata sopra
// _sld.set_movap(TRUE);
scrivi_righePN(nreg);
_sld.registra();
@ -1210,10 +1242,10 @@ void TRic_tab::ricevi_movIVA(TString& key, char uselab)
if (ocfpi.not_empty())
occasionali(ocfpi);
// TRecnotype rec = _tmov->recno(); // Salvo il nuovo numero di
// _tmov->put("TOCFP", ocfpi); // registrazione sul file di lavoro
// _tmov->rewrite();
// _tmov->readat(rec);
TRecnotype rec = _tmov->recno(); // Salvo il nuovo numero di
_tmov->put("TOCFP", ocfpi); // registrazione sul file di lavoro
_tmov->rewrite();
_tmov->readat(rec);
TDate data74ter ( _tmov->get_date(MOV_DATA74TER) );
TString codval ( _tmov->get (MOV_CODVALI) );
@ -1238,7 +1270,7 @@ void TRic_tab::ricevi_movIVA(TString& key, char uselab)
_mov->put(MOV_CORRLIRE, corrlire);
_mov->put(MOV_CORRVALUTA, corrval);
_mov->put(MOV_ANNOIVA, annoiva);
_mov->put(MOV_OCFPI, ocfpi);
_mov->put(MOV_OCFPI, ocfpi);
_mov->rewrite();
scrivi_righeIVA(nreg);
@ -1254,6 +1286,276 @@ void TRic_tab::ricevi_movIVA(TString& key, char uselab)
}
}
long TRic_tab::nuovaregSC(long nreg)
{
long nuovareg = 0;
_tmov->zero();
_tmov->put(MOV_NUMREG, nreg);
if (_tmov->read() == NOERR)
nuovareg = _tmov->get_long("TNUMREG");
return nuovareg;
}
bool TRic_tab::esiste_partita(TString& key)
{
TLocalisamfile part (LF_PARTITE);
char tipoc = key.mid(0,1)[0];
int gruppo = atoi(key.mid(1,3));
int conto = atoi(key.mid(4,3));
long sottoc = atol(key.mid(7,6));
int anno = atoi(key.mid(13,4));
TString npart = key.mid(17,7);
int nriga = atoi(key.mid(24,4));
part.zero();
part.put(PART_TIPOCF, tipoc);
part.put(PART_GRUPPO, gruppo);
part.put(PART_CONTO, conto);
part.put(PART_SOTTOCONTO, sottoc);
part.put(PART_ANNO, anno);
part.put(PART_NUMPART, npart);
part.put(PART_NRIGA, nriga);
if (part.read() == NOERR)
return TRUE;
return FALSE;
}
void TRic_tab::aggiorna_temp_scad(char tipocf,int gruppo,int conto,long codcf,int anno,TString& numpart,
int nriga,int nrata,int nuova_riga,int nuova_rata)
{
TRecnotype rec = _tscad->recno();
TIsamtempfile& scad = *_tscad;
scad.setkey(1);
scad.zero();
scad.put(SCAD_TIPOCF, tipocf);
scad.put(SCAD_GRUPPO, gruppo);
scad.put(SCAD_CONTO, conto);
scad.put(SCAD_SOTTOCONTO, codcf);
scad.put(SCAD_ANNO, anno);
scad.put(SCAD_NUMPART, numpart);
scad.put(SCAD_NRIGA, nriga);
scad.put(SCAD_NRATA, nrata);
if (scad.read() == NOERR)
{
scad.put(SCAD_TNRIGA, nuova_riga);
scad.put(SCAD_TNRATA, nuova_rata);
scad.rewrite();
}
_tscad->readat(rec);
}
void TRic_tab::rigaErata(char tipocf,int gruppo,int conto,long codcf,int anno,
TString& numpart,int nriga, int nrata)
{
TRecnotype rec = _tscad->recno();
TIsamtempfile& scad = *_tscad;
scad.setkey(1);
scad.zero();
scad.put(SCAD_TIPOCF, tipocf);
scad.put(SCAD_GRUPPO, gruppo);
scad.put(SCAD_CONTO, conto);
scad.put(SCAD_SOTTOCONTO, codcf);
scad.put(SCAD_ANNO, anno);
scad.put(SCAD_NUMPART, numpart);
scad.put(SCAD_NRIGA, nriga);
scad.put(SCAD_NRATA, nrata);
if (scad.read() == NOERR)
{
_nrig = scad.get_int(SCAD_TNRIGA);
_nrata = scad.get_int(SCAD_TNRATA);
}
_tscad->readat(rec);
}
void TRic_tab::ricevi_movSC(TString& key, char uselab)
{
TString str;
TPartita* newgame = NULL;
bool chiave = FALSE;
_tpart->setkey(1);
if (key.empty())
_tpart->first();
else
{
char tipoc = key.mid(0,1)[0];
int gruppo = atoi(key.mid(1,3));
int conto = atoi(key.mid(4,3));
long sottoc = atol(key.mid(7,6));
int anno = atoi(key.mid(13,4));
TString npart = key.mid(17,7);
int nriga = atoi(key.mid(24,4));
_tpart->zero();
_tpart->put(PART_TIPOCF, tipoc);
_tpart->put(PART_GRUPPO, gruppo);
_tpart->put(PART_CONTO, conto);
_tpart->put(PART_SOTTOCONTO, sottoc);
_tpart->put(PART_ANNO, anno);
_tpart->put(PART_NUMPART, npart);
_tpart->put(PART_NRIGA, nriga);
_tpart->read();
chiave = TRUE;
}
for(; !_tpart->eof(); _tpart->next())
{
_prog->addstatus(1);
if (chiave)
if (esiste_partita(key))
continue;
long nreg = _tpart->get_long(PART_NREG);
_nuovareg = nuovaregSC(nreg);
int anno = _tpart->get_int (PART_ANNO);
TString numpart = _tpart->get (PART_NUMPART);
char tipocf = _tpart->get_char(PART_TIPOCF);
int gruppo = _tpart->get_int (PART_GRUPPO);
int conto = _tpart->get_int (PART_CONTO);
long codcf = _tpart->get_long(PART_SOTTOCONTO);
int nriga = _tpart->get_int (PART_NRIGA);
int tipomov = _tpart->get_int (PART_TIPOMOV);
TBill clifo;
clifo.set(gruppo, conto, codcf, tipocf);
newgame = new TPartita(clifo, anno, numpart);
TRiga_partite& partita = newgame->new_row();
int nuova_riga = partita.get_int(PART_NRIGA);
// put data on partita
partita.put(PART_TIPOMOV, _tpart->get_int (PART_TIPOMOV));
partita.put(PART_TIPOPAG, _tpart->get_int (PART_TIPOPAG));
partita.put(PART_NREG, _nuovareg);
partita.put(PART_NUMRIG, _tpart->get_int (PART_NUMRIG));
partita.put(PART_DATAREG, _tpart->get_date(PART_DATAREG));
partita.put(PART_DATADOC, _tpart->get_date(PART_DATADOC));
partita.put(PART_DATAPAG, _tpart->get_date(PART_DATAPAG));
partita.put(PART_NUMDOC, _tpart->get (PART_NUMDOC));
partita.put(PART_REG, _tpart->get (PART_REG));
partita.put(PART_PROTIVA, _tpart->get_long(PART_PROTIVA));
partita.put(PART_CODCAUS, _tpart->get (PART_CODCAUS));
partita.put(PART_SEZ, _tpart->get (PART_SEZ));
partita.put(PART_IMPORTO, _tpart->get_real(PART_IMPORTO));
partita.put(PART_IMPOSTA, _tpart->get_real(PART_IMPOSTA));
partita.put(PART_CODVAL, _tpart->get (PART_CODVAL));
partita.put(PART_CAMBIO, _tpart->get_real(PART_CAMBIO));
partita.put(PART_IMPORTOVAL, _tpart->get_real(PART_IMPORTOVAL));
partita.put(PART_DATACAM, _tpart->get_date(PART_DATACAM));
partita.put(PART_IMPTOTDOC, _tpart->get_real(PART_IMPTOTDOC));
partita.put(PART_IMPTOTVAL, _tpart->get_real(PART_IMPTOTVAL));
partita.put(PART_RITENUTE, _tpart->get_real(PART_RITENUTE));
partita.put(PART_SEZABB, _tpart->get (PART_SEZABB));
partita.put(PART_ABBUONI, _tpart->get_real(PART_ABBUONI));
partita.put(PART_SEZDIFCAM, _tpart->get (PART_SEZDIFCAM));
partita.put(PART_DIFFCAM, _tpart->get_real(PART_DIFFCAM));
partita.put(PART_GRUPPOCL, _tpart->get_int (PART_GRUPPOCL));
partita.put(PART_CONTOCL, _tpart->get_int (PART_CONTOCL));
if (tipomov == 1)
{
_tscad->zero();
_tscad->put(SCAD_TIPOCF, tipocf);
if (gruppo != 0)
_tscad->put(SCAD_GRUPPO, gruppo);
if (conto != 0)
_tscad->put(SCAD_CONTO, conto);
if (codcf != 0)
_tscad->put(SCAD_SOTTOCONTO, codcf);
_tscad->put(SCAD_ANNO, anno);
_tscad->put(SCAD_NUMPART, numpart);
_tscad->put(SCAD_NRIGA, nriga);
TRectype scad (_tscad->curr());
for (_tscad->read(_isgteq); !_tscad->eof(); _tscad->next())
{
if (_tscad->curr() != scad) break;
TRiga_scadenze& scadenza = partita.new_row();
scadenza.put(SCAD_CODPAG, _tscad->get (SCAD_CODPAG));
scadenza.put(SCAD_TIPOPAG, _tscad->get_int (SCAD_TIPOPAG));
scadenza.put(SCAD_ULTCLASS, _tscad->get (SCAD_ULTCLASS));
scadenza.put(SCAD_IMPORTO, _tscad->get_real(SCAD_IMPORTO));
scadenza.put(SCAD_IMPORTOVAL, _tscad->get_real(SCAD_IMPORTOVAL));
scadenza.put(SCAD_DATASCAD, _tscad->get_date(SCAD_DATASCAD));
int nrata = _tscad->get_int(SCAD_NRATA);
int nuova_rata = scadenza.get_int(SCAD_NRATA);
aggiorna_temp_scad(tipocf,gruppo,conto,codcf,anno,numpart,nriga,nrata,nuova_riga,nuova_rata);
}
}
if (tipomov != 1)
{
_tpagsca->zero();
_tpagsca->put(PAGSCA_TIPOC, tipocf);
if (gruppo != 0)
_tpagsca->put(PAGSCA_GRUPPO, gruppo);
if (conto != 0)
_tpagsca->put(PAGSCA_CONTO, conto);
if (codcf != 0)
_tpagsca->put(PAGSCA_SOTTOCONTO, codcf);
_tpagsca->put(PAGSCA_ANNO, anno);
_tpagsca->put(PAGSCA_NUMPART, numpart);
// _tpagsca->put(PAGSCA_NRIGA, nriga);
TRectype pagsca (_tpagsca->curr());
for (_tpagsca->read(_isgteq); !_tpagsca->eof(); _tpagsca->next())
{
int nrigp = _tpagsca->get_int(PAGSCA_NRIGP);
if (_tpagsca->curr() != pagsca) break;
if (nriga != nrigp) continue;
int nrig = _tpagsca->get_int(PAGSCA_NRIGA);
int nrata = _tpagsca->get_int(PAGSCA_NRATA);
_nrig = nrig;
_nrata = nrata;
rigaErata(tipocf,gruppo,conto,codcf,anno,numpart,nrig,nrata);
TRectype& pag = newgame->pagamento(_nrig,_nrata,nuova_riga);
if (_nrig == 9999 && _nrata == 9999)
pag.put(PAGSCA_ACCSAL, "A");
else
{
pag.put(PAGSCA_ACCSAL, _tpagsca->get (PAGSCA_ACCSAL));
pag.put(PAGSCA_PASSATT, _tpagsca->get (PAGSCA_PASSATT));
pag.put(PAGSCA_ABBUONI, _tpagsca->get_real(PAGSCA_ABBUONI));
pag.put(PAGSCA_DIFFCAM, _tpagsca->get_real(PAGSCA_DIFFCAM));
}
pag.put(PAGSCA_IMPORTO, _tpagsca->get_real(PAGSCA_IMPORTO));
pag.put(PAGSCA_IMPORTOVAL, _tpagsca->get_real(PAGSCA_IMPORTOVAL));
pag.put(PAGSCA_RITENUTE, _tpagsca->get_real(PAGSCA_RITENUTE));
}
}
if (newgame != NULL) // Se non ho cancellato il numero partita ...
{
newgame->write(); // Salva nuova partita
delete newgame;
}
leggi_record_controllo();
TString chiave;
chiave.format("%c%03d%03d%06ld%04d%7s%04d", tipocf,gruppo,conto,codcf,anno,(const char*)numpart,nriga);
TString sigla (format("%c", uselab));
str = _record.overwrite(sigla,240);
str = _record.overwrite(chiave,241);
_tras_file.write_control_rec(str,1024);
}
}
bool TRic_tab::leggi_trasfer()
{
_nultras = 0;
@ -1491,6 +1793,27 @@ void TRic_tab::apri_file_temp()
_tmpoccas << ".dbf";
if (fexist(_tmpoccas))
_toccas = new TIsamtempfile(LF_OCCAS, tmpoccas, 0);
TString80 tmppart = "%";
tmppart << get_firm_dir();
tmppart << "\\" << TEMP_PART;
_tmppart = tmppart.mid(1);
_tmppart << ".dbf";
if (fexist(_tmppart))
_tpart = new TIsamtempfile(LF_PARTITE, tmppart, 0);
TString80 tmpscad = "%";
tmpscad << get_firm_dir();
tmpscad << "\\" << TEMP_SCAD;
_tmpscad = tmpscad.mid(1);
_tmpscad << ".dbf";
if (fexist(_tmpscad))
_tscad = new TIsamtempfile(LF_SCADENZE, tmpscad, 0);
TString80 tmppagsca = "%";
tmppagsca << get_firm_dir();
tmppagsca << "\\" << TEMP_PAGSCA;
_tmppagsca = tmppagsca.mid(1);
_tmppagsca << ".dbf";
if (fexist(_tmppagsca))
_tpagsca = new TIsamtempfile(LF_PAGSCA, tmppagsca, 0);
}
}
@ -1517,6 +1840,12 @@ void TRic_tab::chiudi_file_temp()
delete _triva;
if (fexist(_tmpoccas))
delete _toccas;
if (fexist(_tmppart))
delete _tpart;
if (fexist(_tmpscad))
delete _tscad;
if (fexist(_tmppagsca))
delete _tpagsca;
}
}

View File

@ -1,68 +1,68 @@
#include "cg6600.h"
PAGE "" -1 -1 78 13
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
TEXT DLG_NULL
BEGIN
PROMPT 1 5 "Data del"
END
DATE F_DATAULTRAS
BEGIN
PROMPT 1 6 "trasferimento "
FLAGS "D"
END
STRING F_STD 1
BEGIN
PROMPT 1 7 "Stato del "
FLAGS "DU"
END
STRING F_USELAB 1
BEGIN
PROMPT 22 7 ""
FLAGS "DU"
END
STRING F_STATO 60
BEGIN
PROMPT 1 8 "trasferimento "
FLAGS "DU"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK
#include "cg6600.h"
PAGE "" -1 -1 78 13
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
TEXT DLG_NULL
BEGIN
PROMPT 1 5 "Data del"
END
DATE F_DATAULTRAS
BEGIN
PROMPT 1 6 "trasferimento "
FLAGS "D"
END
STRING F_STD 1
BEGIN
PROMPT 1 7 "Stato del "
FLAGS "DU"
END
STRING F_USELAB 1
BEGIN
PROMPT 22 7 ""
FLAGS "DU"
END
STRING F_STATO 60
BEGIN
PROMPT 1 8 "trasferimento "
FLAGS "DU"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

File diff suppressed because it is too large Load Diff

View File

@ -1,82 +1,82 @@
#include "cg6700.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
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "Data limite"
END
DATE F_DATALIMITE
BEGIN
PROMPT 2 11 "trasferimento "
FLAGS "D"
END
STRING F_SDT 1
BEGIN
PROMPT 2 12 "Stato della "
FLAGS "DU"
END
STRING F_SIGLA 1
BEGIN
PROMPT 21 12 ""
FLAGS "DU"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "ricezione "
END
STRING F_CHIAVE 60
BEGIN
PROMPT 17 13 ""
FLAGS "DU"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
#include "cg6700.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
TEXT DLG_NULL
BEGIN
PROMPT 2 10 "Data limite"
END
DATE F_DATALIMITE
BEGIN
PROMPT 2 11 "trasferimento "
FLAGS "D"
END
STRING F_SDT 1
BEGIN
PROMPT 2 12 "Stato della "
FLAGS "DU"
END
STRING F_SIGLA 1
BEGIN
PROMPT 21 12 ""
FLAGS "DU"
END
TEXT DLG_NULL
BEGIN
PROMPT 2 13 "ricezione "
END
STRING F_CHIAVE 60
BEGIN
PROMPT 17 13 ""
FLAGS "DU"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

File diff suppressed because it is too large Load Diff

View File

@ -1,72 +1,72 @@
// 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
#define F_DATACOMP 126
// 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
#define F_CFPI 164
#define F_CIVOCC 165
#define F_COMOCC 166
// 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
// 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
#define F_DATACOMP 126
// 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
#define F_CFPI 164
#define F_CIVOCC 165
#define F_COMOCC 166
// 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

View File

@ -1,32 +1,32 @@
#include "cg6800.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
#include "cg6800.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

View File

@ -1,187 +1,187 @@
#include "cg6800.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_CFPI 16
BEGIN
PROMPT 1 1 ""
FLAGS "HG"
END
STRING F_RAGSOCOCC 25
BEGIN
PROMPT 1 7 "Ragione sociale "
END
STRING F_INDOCC 22
BEGIN
PROMPT 1 8 "Indirizzo "
END
STRING F_CIVOCC 6
BEGIN
PROMPT 41 8 ""
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
STRING F_COMOCC 4
BEGIN
PROMPT 1 10 ""
FLAGS "HG"
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
NUMBER F_TIPOCR 1
BEGIN
PROMPT 1 15 "Tipo Costo/Ricavo "
SHEET "Codice|Tipo costo ricavo@50"
INPUT F_TIPOCR
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"
OUTPUT F_TIPOCR
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
#include "cg6800.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_CFPI 16
BEGIN
PROMPT 1 1 ""
FLAGS "HG"
END
STRING F_RAGSOCOCC 25
BEGIN
PROMPT 1 7 "Ragione sociale "
END
STRING F_INDOCC 22
BEGIN
PROMPT 1 8 "Indirizzo "
END
STRING F_CIVOCC 6
BEGIN
PROMPT 41 8 ""
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
STRING F_COMOCC 4
BEGIN
PROMPT 1 10 ""
FLAGS "HG"
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
NUMBER F_TIPOCR 1
BEGIN
PROMPT 1 15 "Tipo Costo/Ricavo "
SHEET "Codice|Tipo costo ricavo@50"
INPUT F_TIPOCR
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"
OUTPUT F_TIPOCR
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

View File

@ -1,252 +1,252 @@
#include "cglib04.h"
#include "cg6801.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 ("cg6801a");
KEY tasto;
_old_ditta = get_firm();
tasto = msk.run();
if (tasto != K_ENTER) return FALSE;
_dittaric = msk.get_int(F_CODDITTA);
set_firm(_dittaric);
if (!esegui_controlli())
{
set_firm(_old_ditta);
return FALSE;
}
//set_firm(_dittaric);
return FALSE;
}
bool TDitta_ric::leggi_trasfer()
{
_trasf = _tras_file.path(_dittaric);
_trasf << HEADER;
_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 (!prefix().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");
if (!controlli())
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;
}
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,86);
_control_rec.overwrite(_nrec_file,95);
_tras_file.write_control_rec(_control_rec,1024);
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);
TString str;
str.spaces(60);
_control_rec.overwrite(str,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);
TString str;
str.spaces(60);
_control_rec.overwrite(str,241);
}
else
{
setta_parametri_record("","*",FALSE);
_control_rec.overwrite(" ",240);
TString str;
str.spaces(60);
_control_rec.overwrite(str,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 = 1024;
if (!_tras_file.write_control_rec(_control_rec, size))
return FALSE;
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 = 1024;
_tras_file.write_control_rec(_control_rec, size);
}
}
bool TDitta_ric::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return set();
return FALSE;
}
#include "cglib04.h"
#include "cg6801.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 ("cg6801a");
KEY tasto;
_old_ditta = get_firm();
tasto = msk.run();
if (tasto != K_ENTER) return FALSE;
_dittaric = msk.get_int(F_CODDITTA);
set_firm(_dittaric);
if (!esegui_controlli())
{
set_firm(_old_ditta);
return FALSE;
}
//set_firm(_dittaric);
return FALSE;
}
bool TDitta_ric::leggi_trasfer()
{
_trasf = _tras_file.path(_dittaric);
_trasf << HEADER;
_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 (!prefix().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");
if (!controlli())
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;
}
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,86);
_control_rec.overwrite(_nrec_file,95);
_tras_file.write_control_rec(_control_rec,1024);
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);
TString str;
str.spaces(60);
_control_rec.overwrite(str,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);
TString str;
str.spaces(60);
_control_rec.overwrite(str,241);
}
else
{
setta_parametri_record("","*",FALSE);
_control_rec.overwrite(" ",240);
TString str;
str.spaces(60);
_control_rec.overwrite(str,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 = 1024;
if (!_tras_file.write_control_rec(_control_rec, size))
return FALSE;
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 = 1024;
_tras_file.write_control_rec(_control_rec, size);
}
}
bool TDitta_ric::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return set();
return FALSE;
}

View File

@ -1,43 +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 "cg6800.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, _old_ditta;
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() {};
};
// 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 "cg6800.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, _old_ditta;
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() {};
};

View File

@ -1,47 +1,47 @@
#include "cg6800.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
#include "cg6800.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

View File

@ -1,380 +1,583 @@
#include "cglib04.h"
#include "cg6802.h"
bool TAnn_mov::create()
{
TApplication::create();
_pcon = new TLocalisamfile (LF_PCON);
_clifo = new TLocalisamfile (LF_CLIFO);
_mov = new TLocalisamfile (LF_MOV);
_rmov = new TLocalisamfile (LF_RMOV);
_rmoviva = new TLocalisamfile (LF_RMOVIVA);
_rec_mov = new TRectype (LF_MOV);
_registra = FALSE;
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TAnn_mov::destroy()
{
delete _pcon;
delete _clifo;
delete _mov;
delete _rmov;
delete _rmoviva;
delete _rec_mov;
return TApplication::destroy();
}
void TAnn_mov::apri_temp_file()
{
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);
_is_exist = FALSE;
TString tmp = tmprmoviva.mid(1);
tmp << ".dbf";
if (fexist(tmp))
{
_tiva = new TIsamtempfile(LF_RMOVIVA, tmprmoviva, 0);
_is_exist = TRUE;
}
}
void TAnn_mov::chiudi_tempfile()
{
delete _tmov;
delete _trmov;
if (_is_exist)
delete _tiva;
}
bool TAnn_mov::set()
{
_dittaric = get_firm();
if (!esegui_controlli()) return FALSE;
apri_temp_file();
if (!video())
{
if (_registra)
{
setta_parametri_record(" ","C");
chiudi_tempfile();
/*
TString80 tpmov = get_firm_dir();
tpmov << "\\" << TEMP_MOV;
TString80 tprmov = get_firm_dir();
tprmov << "\\" << TEMP_RMOV;
TString80 tprmoviva = get_firm_dir();
tprmoviva << "\\" << TEMP_RMOVIVA;
pack(TRUE,LF_MOV,tpmov);
pack(TRUE,LF_RMOV,tprmov);
pack(TRUE,LF_RMOVIVA,tprmoviva);*/
}
return FALSE;
}
chiudi_tempfile();
return FALSE;
}
bool TAnn_mov::video()
{
TMask msk ("cg6802a");
KEY tasto;
do
{
tasto = msk.run();
if (tasto != K_ENTER) return FALSE;
if (esiste_testata_mov(msk))
{
TMask mask ("cg6802b");
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_DEL :
{
annulla(mask);
_registra = TRUE;
}
break;
default:
break;
}
}
}
while (tasto != K_QUIT); //K_ENTER
return TRUE;
}
bool TAnn_mov::esiste_testata_mov(TMask& m)
{
_numreg = m.get_long(F_NUMREG);
_tmov->setkey(1);
_tmov->zero();
_tmov->put(MOV_NUMREG, _numreg);
if (_tmov->read() == NOERR)
*_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);
// Cancello la testata del movimento
long numreg = m.get_long(F_NUMREG);
_tmov->setkey(1);
_tmov->zero();
_tmov->put(MOV_NUMREG, numreg);
if (_tmov->read() == NOERR)
_tmov->remove();
// Cancello tutte le righe di Primanota
_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;
_trmov->remove();
}
delete rec_rmov;
// Cancello tutte le righe iva
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;
_tiva->remove();
}
delete rec_riva;
}
bool TAnn_mov::leggi_trasfer()
{
_trasf = _tras_file.path(_dittaric);
_trasf << HEADER;
_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();
TDate datareg (f.mask().get(F_DATAREG));
int anno = date2esc(datareg);
reg.zero();
reg.put("CODTAB", codreg);
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 (!prefix().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()
{
TString16 chiave,sigla;
chiave = _control_rec.sub(241,256);
chiave.trim();
sigla = _control_rec.sub(240,241);
sigla.trim();
if (_std == "M" && sigla == "Z" && chiave != "")
return error_box("Variazione NON POSSIBILE: trasferimento movimenti gia' iniziato");
if (_std == "M" && sigla == "U")
return error_box("Variazione NON POSSIBILE: trasferimento movimenti gia' iniziato");
if (_std == "*")
{
warning_box("Trasferimento interamente completato: proseguire per cancellare il file");
_tras_file.remove_all();
setta_parametri_record(""," ");
return FALSE;
}
if (_std == "T")
return error_box("Variazione NON POSSIBILE: eseguire prima la ricezione delle tabelle");
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)
{
TConfig conf (CONFIG_DITTA);
conf.set("FlStTra", flag);
leggi_record_controllo();
_control_rec.overwrite(sigla,240);
const int size = 1024;
_tras_file.write_control_rec(_control_rec, size);
}
bool TAnn_mov::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return set();
return FALSE;
}
#include "cglib04.h"
#include "cg6802.h"
bool TAnn_mov::create()
{
TApplication::create();
_pcon = new TLocalisamfile (LF_PCON);
_clifo = new TLocalisamfile (LF_CLIFO);
_mov = new TLocalisamfile (LF_MOV);
_rmov = new TLocalisamfile (LF_RMOV);
_rmoviva = new TLocalisamfile (LF_RMOVIVA);
_part = new TLocalisamfile (LF_PARTITE);
_scad = new TLocalisamfile (LF_SCADENZE);
_pagsca = new TLocalisamfile (LF_PAGSCA);
_rec_mov = new TRectype (LF_MOV);
_registra = FALSE;
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TAnn_mov::destroy()
{
delete _pcon;
delete _clifo;
delete _mov;
delete _rmov;
delete _rmoviva;
delete _part;
delete _scad;
delete _pagsca;
delete _rec_mov;
return TApplication::destroy();
}
void TAnn_mov::apri_temp_file()
{
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;
TString80 tmppart = "%";
tmppart << get_firm_dir();
tmppart << "\\" << TEMP_PART;
TString80 tmpscad = "%";
tmpscad << get_firm_dir();
tmpscad << "\\" << TEMP_SCAD;
TString80 tmppagsca = "%";
tmppagsca << get_firm_dir();
tmppagsca << "\\" << TEMP_PAGSCA;
_tmov = new TIsamtempfile(LF_MOV, tmpmov, 0);
_trmov = new TIsamtempfile(LF_RMOV, tmprmov, 0);
_is_iva = FALSE;
TString tmp = tmprmoviva.mid(1);
tmp << ".dbf";
if (fexist(tmp))
{
_tiva = new TIsamtempfile(LF_RMOVIVA, tmprmoviva, 0);
_is_iva = TRUE;
}
_is_salda = FALSE;
tmp = tmppart.mid(1);
tmp << ".dbf";
if (fexist(tmp))
{
_tpart = new TIsamtempfile(LF_PARTITE, tmppart, 0);
_tscad = new TIsamtempfile(LF_SCADENZE, tmpscad, 0);
_tpagsca = new TIsamtempfile(LF_PAGSCA, tmppagsca, 0);
_is_salda = TRUE;
}
}
void TAnn_mov::chiudi_tempfile()
{
delete _tmov;
delete _trmov;
if (_is_iva)
delete _tiva;
if (_is_salda)
{
delete _tpart;
delete _tscad;
delete _tpagsca;
}
}
bool TAnn_mov::set()
{
_dittaric = get_firm();
if (!esegui_controlli()) return FALSE;
apri_temp_file();
if (!video())
{
if (_registra)
{
setta_parametri_record(" ","C");
chiudi_tempfile();
/*
TString80 tpmov = get_firm_dir();
tpmov << "\\" << TEMP_MOV;
TString80 tprmov = get_firm_dir();
tprmov << "\\" << TEMP_RMOV;
TString80 tprmoviva = get_firm_dir();
tprmoviva << "\\" << TEMP_RMOVIVA;
pack(TRUE,LF_MOV,tpmov);
pack(TRUE,LF_RMOV,tprmov);
pack(TRUE,LF_RMOVIVA,tprmoviva);*/
}
chiudi_tempfile();
return FALSE;
}
chiudi_tempfile();
return FALSE;
}
bool TAnn_mov::video()
{
TMask msk ("cg6802a");
KEY tasto;
do
{
tasto = msk.run();
if (tasto != K_ENTER) return FALSE;
if (esiste_testata_mov(msk))
{
TMask mask ("cg6802b");
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_DEL :
{
annulla(mask);
_registra = TRUE;
}
break;
default:
break;
}
}
}
while (tasto != K_QUIT); //K_ENTER
return TRUE;
}
bool TAnn_mov::esiste_testata_mov(TMask& m)
{
_numreg = m.get_long(F_NUMREG);
_tmov->setkey(1);
_tmov->zero();
_tmov->put(MOV_NUMREG, _numreg);
if (_tmov->read() == NOERR)
*_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);
// Cancello la testata del movimento
long numreg = m.get_long(F_NUMREG);
_tmov->setkey(1);
_tmov->zero();
_tmov->put(MOV_NUMREG, numreg);
if (_tmov->read() == NOERR)
_tmov->remove();
// Cancello tutte le righe di Primanota
_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;
_trmov->remove();
}
delete rec_rmov;
// Cancello tutte le righe iva
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;
_tiva->remove();
}
delete rec_riva;
if (_is_salda)
{
TRectype* rec_part;
rec_part = new TRectype (LF_PARTITE);
_tpart->setkey(2);
_tpart->zero();
_tpart->put(PART_NREG, numreg);
*rec_part = _tpart->curr();
for (_tpart->read(_isgteq); !_tpart->eof(); _tpart->next())
{
if (_tpart->curr() != *rec_part) break;
int tipomov = _tpart->get_int (PART_TIPOMOV);
char tipocf = _tpart->get_char(PART_TIPOCF);
int gruppo = _tpart->get_int (PART_GRUPPO);
int conto = _tpart->get_int (PART_CONTO);
long codcf = _tpart->get_long(PART_SOTTOCONTO);
int anno = _tpart->get_int (PART_ANNO);
TString numpart = _tpart->get (PART_NUMPART);
int nriga = _tpart->get_int (PART_NRIGA);
if (!controlla_abbuoni_diffcam(tipocf,gruppo,conto,codcf,anno,numpart,nriga,0))
continue;
if (tipomov == 1)
{
_tscad->zero();
_tscad->put(SCAD_TIPOCF, tipocf);
if (gruppo != 0)
_tscad->put(SCAD_GRUPPO, gruppo);
if (conto != 0)
_tscad->put(SCAD_CONTO, conto);
if (codcf != 0)
_tscad->put(SCAD_SOTTOCONTO, codcf);
_tscad->put(SCAD_ANNO, anno);
_tscad->put(SCAD_NUMPART, numpart);
_tscad->put(SCAD_NRIGA, nriga);
TRectype scad (_tscad->curr());
for (_tscad->read(_isgteq); !_tscad->eof(); _tscad->next())
{
if (_tscad->curr() != scad) break;
int nrata = _tscad->get_int (SCAD_NRATA);
sgancia_pagamenti(tipocf,gruppo,conto,codcf,anno,numpart,nriga,nrata);
_tscad->remove();
}
}
if (tipomov != 1)
{
_tpagsca->zero();
_tpagsca->put(PAGSCA_TIPOC, tipocf);
if (gruppo != 0)
_tpagsca->put(PAGSCA_GRUPPO, gruppo);
if (conto != 0)
_tpagsca->put(PAGSCA_CONTO, conto);
if (codcf != 0)
_tpagsca->put(PAGSCA_SOTTOCONTO, codcf);
_tpagsca->put(PAGSCA_ANNO, anno);
_tpagsca->put(PAGSCA_NUMPART, numpart);
TRectype pagsca (_tpagsca->curr());
for (_tpagsca->read(_isgteq); !_tpagsca->eof(); _tpagsca->next())
{
int nrigp = _tpagsca->get_int(PAGSCA_NRIGP);
if (_tpagsca->curr() != pagsca) break;
if (nriga != nrigp) continue;
_tpagsca->remove();
}
}
_tpart->remove();
}
delete rec_part;
}
}
bool TAnn_mov::controlla_abbuoni_diffcam(char tipo,int g,int c,long s,int anno,TString& npart,int nriga,int nrata)
{
TIsamtempfile& pagsca = *_tpagsca;
pagsca.setkey(1);
pagsca.zero();
pagsca.put(PAGSCA_TIPOC, tipo);
pagsca.put(PAGSCA_GRUPPO, g);
pagsca.put(PAGSCA_CONTO, c);
pagsca.put(PAGSCA_SOTTOCONTO, s);
pagsca.put(PAGSCA_ANNO, anno);
pagsca.put(PAGSCA_NUMPART, npart);
pagsca.put(PAGSCA_NRIGA, nriga);
if (nrata != 0)
pagsca.put(PAGSCA_NRATA, nrata);
TRectype pagamenti (pagsca.curr());
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamenti) break;
real abbuoni = pagsca.get_real(PAGSCA_ABBUONI);
real diffcam = pagsca.get_real(PAGSCA_DIFFCAM);
if (abbuoni != ZERO || diffcam != ZERO)
return FALSE;
}
return TRUE;
}
void TAnn_mov::sgancia_pagamenti(char tipo,int g,int c,long s,int anno,TString& npart,int nriga,int nrata)
{
TIsamtempfile& pagsca = *_tpagsca;
pagsca.setkey(1);
pagsca.zero();
pagsca.put(PAGSCA_TIPOC, tipo);
pagsca.put(PAGSCA_GRUPPO, g);
pagsca.put(PAGSCA_CONTO, c);
pagsca.put(PAGSCA_SOTTOCONTO, s);
pagsca.put(PAGSCA_ANNO, anno);
pagsca.put(PAGSCA_NUMPART, npart);
pagsca.put(PAGSCA_NRIGA, nriga);
pagsca.put(PAGSCA_NRATA, nrata);
TRectype pagamenti (pagsca.curr());
for (pagsca.read(_isgteq); !pagsca.eof(); pagsca.next())
{
if (pagsca.curr() != pagamenti) break;
TRectype pag (pagsca.curr());
pag.put(PAGSCA_NRIGA, 9999);
pag.put(PAGSCA_NRATA, 9999);
TRecnotype nrec = pagsca.recno();
pagsca.remove();
pagsca.curr() = pag;
if (pagsca.read() == NOERR)
{
real importo = pagsca.get_real(PAGSCA_IMPORTO) + pag.get_real(PAGSCA_IMPORTO);
real impval = pagsca.get_real(PAGSCA_IMPORTOVAL) + pag.get_real(PAGSCA_IMPORTOVAL);
real ritenute = pagsca.get_real(PAGSCA_RITENUTE) + pag.get_real(PAGSCA_RITENUTE);
pagsca.put(PAGSCA_IMPORTO, importo);
pagsca.put(PAGSCA_IMPORTOVAL, impval);
pagsca.put(PAGSCA_RITENUTE, ritenute);
pagsca.put(PAGSCA_ACCSAL, "A");
pagsca.rewrite();
}
else
{
pagsca.curr() = pag;
pagsca.write();
}
pagsca.readat(nrec);
}
}
bool TAnn_mov::leggi_trasfer()
{
_trasf = _tras_file.path(_dittaric);
_trasf << HEADER;
_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();
TDate datareg (f.mask().get(F_DATAREG));
int anno = date2esc(datareg);
reg.zero();
reg.put("CODTAB", codreg);
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 (!prefix().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()
{
TString16 chiave,sigla;
chiave = _control_rec.sub(241,256);
chiave.trim();
sigla = _control_rec.sub(240,241);
sigla.trim();
if (_std == "M" && sigla == "Z" && chiave != "")
return error_box("Variazione NON POSSIBILE: trasferimento movimenti gia' iniziato");
if (_std == "M" && sigla == "U")
return error_box("Variazione NON POSSIBILE: trasferimento movimenti gia' iniziato");
if (_std == "M" && sigla == "B")
return error_box("Variazione NON POSSIBILE: trasferimento movimenti gia' iniziato");
if (_std == "*")
{
warning_box("Trasferimento interamente completato: proseguire per cancellare il file");
_tras_file.remove_all();
setta_parametri_record(""," ");
return FALSE;
}
if (_std == "T")
return error_box("Variazione NON POSSIBILE: eseguire prima la ricezione delle tabelle");
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)
{
TConfig conf (CONFIG_DITTA);
conf.set("FlStTra", flag);
leggi_record_controllo();
_control_rec.overwrite(sigla,240);
const int size = 1024;
_tras_file.write_control_rec(_control_rec, size);
}
bool TAnn_mov::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return set();
return FALSE;
}

View File

@ -1,58 +1,61 @@
// 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 "cg6800.h"
//HIDDEN int date2esc(const TDate& d, int* prevesc = NULL);
class TAnn_mov : public TApplication
{
TIsamtempfile* _tmov,* _trmov,* _tiva;
TLocalisamfile* _pcon,* _clifo, *_mov, *_rmov, *_rmoviva;
TRectype* _rec_mov;
TTransfer_file _tras_file;
TString _trasf,_std,_uselab,_record,_nrec_file,_sigle_file,_key;
long _dittaric,_numreg;
TString _control_rec;
bool _registra, _is_exist;
public:
TString _titolo;
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool set();
void apri_temp_file();
void chiudi_tempfile();
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);
static bool codice_registro_hnd (TMask_field& f, KEY k);
static bool codice_causale_hnd (TMask_field& f, KEY k);
TAnn_mov() {};
};
// 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 "cg6800.h"
//HIDDEN int date2esc(const TDate& d, int* prevesc = NULL);
class TAnn_mov : public TApplication
{
TIsamtempfile* _tmov,*_trmov,*_tiva,*_tpart,*_tscad,*_tpagsca;;
TLocalisamfile* _pcon,*_clifo,*_mov,*_rmov,*_rmoviva,*_part,*_scad,*_pagsca;
TRectype* _rec_mov;
TTransfer_file _tras_file;
TString _trasf,_std,_uselab,_record,_nrec_file,_sigle_file,_key;
long _dittaric,_numreg;
TString _control_rec;
bool _registra, _is_iva, _is_salda;
public:
TString _titolo;
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool set();
void apri_temp_file();
void chiudi_tempfile();
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);
void sgancia_pagamenti(char tipo,int g,int c,long s,int anno,TString& npart,int nriga,int nrata);
bool controlla_abbuoni_diffcam(char tipo,int g,int c,long s,int anno,TString& npart,int nriga,int nrata);
static bool codice_registro_hnd (TMask_field& f, KEY k);
static bool codice_causale_hnd (TMask_field& f, KEY k);
TAnn_mov() {};
};

View File

@ -1,25 +1,25 @@
#include "cg6800.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
#include "cg6800.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

View File

@ -1,87 +1,87 @@
#include "cg6800.h"
TOOLBAR "" 0 20 0 2
BUTTON DLG_DELREC 8 2
BEGIN
PROMPT -15 -1 "~Elimina"
MESSAGE EXIT,K_DEL
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 documento "
END
DATE F_DATADOC
BEGIN
PROMPT 1 6 "Data del documento "
END
STRING F_REGIVA 3
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 "
FLAGS "D"
END
ENDPAGE
ENDMASK
#include "cg6800.h"
TOOLBAR "" 0 20 0 2
BUTTON DLG_DELREC 8 2
BEGIN
PROMPT -15 -1 "~Elimina"
MESSAGE EXIT,K_DEL
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 documento "
END
DATE F_DATADOC
BEGIN
PROMPT 1 6 "Data del documento "
END
STRING F_REGIVA 3
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 "
FLAGS "D"
END
ENDPAGE
ENDMASK

View File

@ -1,320 +1,320 @@
#include "cglib04.h"
#include "cg6803.h"
HIDDEN TVis_ric& app() { return (TVis_ric &) main_app(); }
bool TVis_ric::create()
{
TApplication::create();
_tab_tra = new TTable ("%TRA");
_registra = FALSE;
_ftrasfer = TRUE;
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TVis_ric::destroy()
{
delete _tab_tra;
return TApplication::destroy();
}
bool TVis_ric::baipassa(TMask& m, KEY k)
{
if (k == K_SHIFT+K_F12)
{
m.enable(F_NULTRAS);
m.enable(F_DATAULTRAS);
m.enable(F_STD);
m.enable(F_USELAB);
m.enable(F_STATO);
m.enable(F_AGGCAUSALI);
m.enable(F_AGGCLIFO);
m.enable(F_AGGPCON);
m.enable(F_AGGIVD);
m.enable(F_FATTEM);
m.enable(F_FATTRIC);
app()._registra = TRUE;
}
return TRUE;
}
bool TVis_ric::stato_hnd (TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TString std = f.get();
TString uselab = f.mask().get(F_USELAB);
TString chiave = f.mask().get(F_STATO);
if (!app()._ftrasfer) //_ftrasfer dice se esiste il file trasfer o il suo record di controllo
{
if (std != "" && std != "*")
return warning_box("Valore non valido per stato ultima ricezione");
}
else
{
if (std != "" && std != "T" && std != "C" && std != "M" && std != "*")
return warning_box("Valore non valido per stato ultima ricezione");
if (uselab != "" && (std == "" || std == "C" || std == "*") )
return warning_box("Valore non valido per stato ultima ricezione");
if (chiave != "" && (std == "" || std == "C" || std == "*") )
return warning_box("Valore non valido per stato ultima ricezione");
}
}
return TRUE;
}
bool TVis_ric::uselab_hnd (TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TString std = f.mask().get(F_STD);
TString uselab = f.get();
if (std == "" && uselab != "")
return warning_box("Lo stato ultima ricezione non e' significativo: la sigla ultimo file elaborato non puo' essere significativa");
}
return TRUE;
}
bool TVis_ric::chiave_hnd (TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TString std = f.mask().get(F_STD);
TString uselab = f.mask().get(F_USELAB);
TString chiave = f.get();
if (std == "" && chiave != "")
return warning_box("Lo stato ultima ricezione non e' significativo: la chiave ultimo file elaborato non puo' essere significativa");
if (uselab == "" && chiave != "")
return warning_box("La sigla ultimo file elaborato non e' significativa: la chiave ultimo file elaborato non puo' essere significativa");
}
return TRUE;
}
bool TVis_ric::video()
{
if (!esegui_controlli())
return FALSE;
TMask msk ("cg6803a");
KEY tasto;
ditta_ricevente(); // Cerca la ragione sociale della ditta.
setta_campi_video(msk); // Setta i campi della maschera con i dati relativi
// alla ditta e alla tabella trasferimenti.
msk.set_handler(baipassa);
msk.set_handler(F_STD, stato_hnd);
msk.set_handler(F_USELAB, uselab_hnd);
msk.set_handler(F_STATO, chiave_hnd);
tasto = msk.run();
if (tasto != K_ENTER)
return FALSE;
registra(msk);
return FALSE;
}
void TVis_ric::setta_campi_video(TMask& msk)
{
if (_ftrasfer)
{
msk.set(F_CODDITTARIC, _dittaric);
msk.set(F_RAGSOC, _ragsoc_dittar);
msk.set(F_NULTRAS, _nultras);
if (_nultras != 0)
{
TString data1 = _dataultras.string();
msk.set(F_DATAULTRAS, data1);
}
msk.set(F_USELAB, _uselab);
msk.set(F_STATO, _key);
msk.set(F_AGGCAUSALI, _agg_cau);
msk.set(F_AGGCLIFO, _agg_clifo);
msk.set(F_AGGPCON, _agg_pcon);
msk.set(F_AGGIVD, _agg_IVdir);
msk.set(F_FATTEM, _riatt_att);
msk.set(F_FATTRIC, _riatt_pas);
}
msk.set(F_STD, _std);
msk.disable(F_CODDITTARIC);
msk.disable(F_RAGSOC);
msk.disable(F_NULTRAS);
msk.disable(F_DATAULTRAS);
msk.disable(F_STD);
msk.disable(F_USELAB);
msk.disable(F_STATO);
msk.disable(F_AGGCAUSALI);
msk.disable(F_AGGCLIFO);
msk.disable(F_AGGPCON);
msk.disable(F_AGGIVD);
msk.disable(F_FATTEM);
msk.disable(F_FATTRIC);
}
void TVis_ric::registra(TMask& m)
{
if (_registra)
{
TString str;
str = m.get(F_NULTRAS);
TString nultras = format("%03s", (const char*) str);
str = m.get(F_DATAULTRAS);
TString datault = riconverti(str,TRUE);
char agg_cau = m.get(F_AGGCAUSALI)[0];
char agg_clf = m.get(F_AGGCLIFO)[0];
char agg_pco = m.get(F_AGGPCON)[0];
char agg_IV = m.get(F_AGGIVD)[0];
char riat_at = m.get(F_FATTEM)[0];
char riat_pa = m.get(F_FATTRIC)[0];
if (riat_at =='\0')
riat_at = ' ';
if (riat_pa == '\0')
riat_pa = ' ';
TString flags (7);
flags[0] = agg_IV;
flags[1] = agg_cau;
flags[2] = agg_clf;
flags[3] = agg_pco;
flags[4] = riat_at;
flags[5] = riat_pa;
flags[6] = '\0';
TString uselab = m.get(F_USELAB);
if (uselab == "")
uselab = " ";
str = m.get(F_STATO);
TString chiave = format("%-60s", (const char*) str);
_control_rec.overwrite(nultras,75);
_control_rec.overwrite(datault,78);
_control_rec.overwrite(flags,234);
_control_rec.overwrite(uselab,240);
_control_rec.overwrite(chiave,241);
//_control_rec.format("%-1024s", (const char*) _control_rec);
const int size = 1024;
_tras_file.write_control_rec(_control_rec, size);
TString std = m.get(F_STD);
setta_std(std);
}
}
void TVis_ric::setta_std(const TString& flag)
{
TConfig conf (CONFIG_DITTA);
conf.set("FlStTra", flag);
}
void TVis_ric::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 TVis_ric::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");
return ditta;
}
*/
bool TVis_ric::leggi_trasfer()
{
TString data,tmp;
_trasf = _tras_file.path(_dittaric);
_trasf << HEADER;
_tras_file.open(_trasf);
if (_tras_file.exist())
{
if (_tras_file.read_control_rec())
{
_control_rec = _tras_file.record();
_nomeid = _tras_file.nome_simb();
_dittainv = _tras_file.ditta();
_nultras = _tras_file.nultras();
_dataultras = _tras_file.dataultras();
_uselab = _tras_file.ult_file();
_key = _tras_file.key();
_agg_cau = _control_rec.sub(235,236);
_agg_clifo = _control_rec.sub(236,237);
_agg_pcon = _control_rec.sub(237,238);
_agg_IVdir = _control_rec.sub(234,235);
_riatt_att = _control_rec.sub(238,239);
_riatt_pas = _control_rec.sub(239,240);
}
else
_ftrasfer = FALSE;
}
else
_ftrasfer = FALSE;
return TRUE;
}
bool TVis_ric::esegui_controlli()
{
TConfig conf(CONFIG_DITTA);
_std = conf.get("FlStTra");
_dittaric = get_firm();
if (!prefix().exist(_dittaric))
return error_box("Rilevati GRAVI ERRORI negli archivi: procedura interrotta");
if (!leggi_trasfer())
return FALSE;
return TRUE;
}
bool TVis_ric::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return video();
return FALSE;
}
#include "cglib04.h"
#include "cg6803.h"
HIDDEN TVis_ric& app() { return (TVis_ric &) main_app(); }
bool TVis_ric::create()
{
TApplication::create();
_tab_tra = new TTable ("%TRA");
_registra = FALSE;
_ftrasfer = TRUE;
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TVis_ric::destroy()
{
delete _tab_tra;
return TApplication::destroy();
}
bool TVis_ric::baipassa(TMask& m, KEY k)
{
if (k == K_SHIFT+K_F12)
{
m.enable(F_NULTRAS);
m.enable(F_DATAULTRAS);
m.enable(F_STD);
m.enable(F_USELAB);
m.enable(F_STATO);
m.enable(F_AGGCAUSALI);
m.enable(F_AGGCLIFO);
m.enable(F_AGGPCON);
m.enable(F_AGGIVD);
m.enable(F_FATTEM);
m.enable(F_FATTRIC);
app()._registra = TRUE;
}
return TRUE;
}
bool TVis_ric::stato_hnd (TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TString std = f.get();
TString uselab = f.mask().get(F_USELAB);
TString chiave = f.mask().get(F_STATO);
if (!app()._ftrasfer) //_ftrasfer dice se esiste il file trasfer o il suo record di controllo
{
if (std != "" && std != "*")
return warning_box("Valore non valido per stato ultima ricezione");
}
else
{
if (std != "" && std != "T" && std != "C" && std != "M" && std != "*")
return warning_box("Valore non valido per stato ultima ricezione");
if (uselab != "" && (std == "" || std == "C" || std == "*") )
return warning_box("Valore non valido per stato ultima ricezione");
if (chiave != "" && (std == "" || std == "C" || std == "*") )
return warning_box("Valore non valido per stato ultima ricezione");
}
}
return TRUE;
}
bool TVis_ric::uselab_hnd (TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TString std = f.mask().get(F_STD);
TString uselab = f.get();
if (std == "" && uselab != "")
return warning_box("Lo stato ultima ricezione non e' significativo: la sigla ultimo file elaborato non puo' essere significativa");
}
return TRUE;
}
bool TVis_ric::chiave_hnd (TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TString std = f.mask().get(F_STD);
TString uselab = f.mask().get(F_USELAB);
TString chiave = f.get();
if (std == "" && chiave != "")
return warning_box("Lo stato ultima ricezione non e' significativo: la chiave ultimo file elaborato non puo' essere significativa");
if (uselab == "" && chiave != "")
return warning_box("La sigla ultimo file elaborato non e' significativa: la chiave ultimo file elaborato non puo' essere significativa");
}
return TRUE;
}
bool TVis_ric::video()
{
if (!esegui_controlli())
return FALSE;
TMask msk ("cg6803a");
KEY tasto;
ditta_ricevente(); // Cerca la ragione sociale della ditta.
setta_campi_video(msk); // Setta i campi della maschera con i dati relativi
// alla ditta e alla tabella trasferimenti.
msk.set_handler(baipassa);
msk.set_handler(F_STD, stato_hnd);
msk.set_handler(F_USELAB, uselab_hnd);
msk.set_handler(F_STATO, chiave_hnd);
tasto = msk.run();
if (tasto != K_ENTER)
return FALSE;
registra(msk);
return FALSE;
}
void TVis_ric::setta_campi_video(TMask& msk)
{
if (_ftrasfer)
{
msk.set(F_CODDITTARIC, _dittaric);
msk.set(F_RAGSOC, _ragsoc_dittar);
msk.set(F_NULTRAS, _nultras);
if (_nultras != 0)
{
TString data1 = _dataultras.string();
msk.set(F_DATAULTRAS, data1);
}
msk.set(F_USELAB, _uselab);
msk.set(F_STATO, _key);
msk.set(F_AGGCAUSALI, _agg_cau);
msk.set(F_AGGCLIFO, _agg_clifo);
msk.set(F_AGGPCON, _agg_pcon);
msk.set(F_AGGIVD, _agg_IVdir);
msk.set(F_FATTEM, _riatt_att);
msk.set(F_FATTRIC, _riatt_pas);
}
msk.set(F_STD, _std);
msk.disable(F_CODDITTARIC);
msk.disable(F_RAGSOC);
msk.disable(F_NULTRAS);
msk.disable(F_DATAULTRAS);
msk.disable(F_STD);
msk.disable(F_USELAB);
msk.disable(F_STATO);
msk.disable(F_AGGCAUSALI);
msk.disable(F_AGGCLIFO);
msk.disable(F_AGGPCON);
msk.disable(F_AGGIVD);
msk.disable(F_FATTEM);
msk.disable(F_FATTRIC);
}
void TVis_ric::registra(TMask& m)
{
if (_registra)
{
TString str;
str = m.get(F_NULTRAS);
TString nultras = format("%03s", (const char*) str);
str = m.get(F_DATAULTRAS);
TString datault = riconverti(str,TRUE);
char agg_cau = m.get(F_AGGCAUSALI)[0];
char agg_clf = m.get(F_AGGCLIFO)[0];
char agg_pco = m.get(F_AGGPCON)[0];
char agg_IV = m.get(F_AGGIVD)[0];
char riat_at = m.get(F_FATTEM)[0];
char riat_pa = m.get(F_FATTRIC)[0];
if (riat_at =='\0')
riat_at = ' ';
if (riat_pa == '\0')
riat_pa = ' ';
TString flags (7);
flags[0] = agg_IV;
flags[1] = agg_cau;
flags[2] = agg_clf;
flags[3] = agg_pco;
flags[4] = riat_at;
flags[5] = riat_pa;
flags[6] = '\0';
TString uselab = m.get(F_USELAB);
if (uselab == "")
uselab = " ";
str = m.get(F_STATO);
TString chiave = format("%-60s", (const char*) str);
_control_rec.overwrite(nultras,75);
_control_rec.overwrite(datault,78);
_control_rec.overwrite(flags,234);
_control_rec.overwrite(uselab,240);
_control_rec.overwrite(chiave,241);
//_control_rec.format("%-1024s", (const char*) _control_rec);
const int size = 1024;
_tras_file.write_control_rec(_control_rec, size);
TString std = m.get(F_STD);
setta_std(std);
}
}
void TVis_ric::setta_std(const TString& flag)
{
TConfig conf (CONFIG_DITTA);
conf.set("FlStTra", flag);
}
void TVis_ric::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 TVis_ric::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");
return ditta;
}
*/
bool TVis_ric::leggi_trasfer()
{
TString data,tmp;
_trasf = _tras_file.path(_dittaric);
_trasf << HEADER;
_tras_file.open(_trasf);
if (_tras_file.exist())
{
if (_tras_file.read_control_rec())
{
_control_rec = _tras_file.record();
_nomeid = _tras_file.nome_simb();
_dittainv = _tras_file.ditta();
_nultras = _tras_file.nultras();
_dataultras = _tras_file.dataultras();
_uselab = _tras_file.ult_file();
_key = _tras_file.key();
_agg_cau = _control_rec.sub(235,236);
_agg_clifo = _control_rec.sub(236,237);
_agg_pcon = _control_rec.sub(237,238);
_agg_IVdir = _control_rec.sub(234,235);
_riatt_att = _control_rec.sub(238,239);
_riatt_pas = _control_rec.sub(239,240);
}
else
_ftrasfer = FALSE;
}
else
_ftrasfer = FALSE;
return TRUE;
}
bool TVis_ric::esegui_controlli()
{
TConfig conf(CONFIG_DITTA);
_std = conf.get("FlStTra");
_dittaric = get_firm();
if (!prefix().exist(_dittaric))
return error_box("Rilevati GRAVI ERRORI negli archivi: procedura interrotta");
if (!leggi_trasfer())
return FALSE;
return TRUE;
}
bool TVis_ric::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return video();
return FALSE;
}

View File

@ -1,56 +1,56 @@
// Visualizzazione stato 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 "cg6800.h"
//HIDDEN TString80 TP;
class TVis_ric : public TApplication
{
TTable* _tab_tra;
TTransfer_file _tras_file;
TString _trasf,_std,_uselab,_key,_nomeid,_ragsoc_dittar;
TString _agg_cau,_agg_clifo,_agg_pcon,_agg_IVdir,_riatt_att,_riatt_pas;
long _dittaric,_dittainv;
TString _control_rec;
TDate _dataultras;
int _nultras;
bool _registra,_ftrasfer;
public:
TString _titolo;
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool video();
void setta_campi_video(TMask& m);
void ditta_ricevente();
long leggi_tabella_tras();
bool esegui_controlli();
bool leggi_trasfer();
void registra(TMask& m);
void setta_std(const TString& flag);
static bool baipassa (TMask& m, KEY k);
static bool stato_hnd (TMask_field& f, KEY k);
static bool uselab_hnd (TMask_field& f, KEY k);
static bool chiave_hnd (TMask_field& f, KEY k);
TVis_ric() {};
};
// Visualizzazione stato 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 "cg6800.h"
//HIDDEN TString80 TP;
class TVis_ric : public TApplication
{
TTable* _tab_tra;
TTransfer_file _tras_file;
TString _trasf,_std,_uselab,_key,_nomeid,_ragsoc_dittar;
TString _agg_cau,_agg_clifo,_agg_pcon,_agg_IVdir,_riatt_att,_riatt_pas;
long _dittaric,_dittainv;
TString _control_rec;
TDate _dataultras;
int _nultras;
bool _registra,_ftrasfer;
public:
TString _titolo;
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool video();
void setta_campi_video(TMask& m);
void ditta_ricevente();
long leggi_tabella_tras();
bool esegui_controlli();
bool leggi_trasfer();
void registra(TMask& m);
void setta_std(const TString& flag);
static bool baipassa (TMask& m, KEY k);
static bool stato_hnd (TMask_field& f, KEY k);
static bool uselab_hnd (TMask_field& f, KEY k);
static bool chiave_hnd (TMask_field& f, KEY k);
TVis_ric() {};
};

View File

@ -1,115 +1,115 @@
#include "cg6800.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 "
FLAGS "G"
END
DATE F_DATAULTRAS
BEGIN
PROMPT 1 6 "Data ultimo invio ricevuto "
FLAGS "G"
END
STRING F_STD 1
BEGIN
PROMPT 1 8 "Stato del "
FLAGS "GU"
END
STRING F_USELAB 1
BEGIN
PROMPT 21 8 ""
FLAGS "GU"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 9 "trasferimento "
END
STRING F_STATO 60
BEGIN
PROMPT 17 9 ""
FLAGS "GU"
END
LIST F_AGGCAUSALI 6
BEGIN
PROMPT 1 11 "Aggiornamento causali gia' presenti "
ITEM "N|No"
ITEM "D|Descr."
ITEM "T|Tutto"
FLAGS "G"
END
LIST F_AGGCLIFO 6
BEGIN
PROMPT 1 12 "Aggiornamento Clienti/Fornitori gia' presenti "
ITEM "N|No"
ITEM "D|Descr."
ITEM "T|Tutto"
FLAGS "G"
END
LIST F_AGGPCON 6
BEGIN
PROMPT 1 13 "Aggiornamento voci Piano dei Conti gia' presenti "
ITEM "N|No"
ITEM "D|Descr."
ITEM "T|Tutto"
FLAGS "G"
END
LIST F_AGGIVD 6
BEGIN
PROMPT 1 14 "Aggiornamento classi Piano dei Conti "
ITEM "N|No"
ITEM "T|Tutto"
FLAGS "G"
END
BOOLEAN F_FATTEM
BEGIN
PROMPT 1 15 "Riattribuzione num. protocollo su fatture emesse "
FLAGS "G"
END
BOOLEAN F_FATTRIC
BEGIN
PROMPT 1 16 "Riattribuzione num. protocollo su fatture ricevute "
FLAGS "G"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK
#include "cg6800.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 "
FLAGS "G"
END
DATE F_DATAULTRAS
BEGIN
PROMPT 1 6 "Data ultimo invio ricevuto "
FLAGS "G"
END
STRING F_STD 1
BEGIN
PROMPT 1 8 "Stato del "
FLAGS "GU"
END
STRING F_USELAB 1
BEGIN
PROMPT 21 8 ""
FLAGS "GU"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 9 "trasferimento "
END
STRING F_STATO 60
BEGIN
PROMPT 17 9 ""
FLAGS "GU"
END
LIST F_AGGCAUSALI 6
BEGIN
PROMPT 1 11 "Aggiornamento causali gia' presenti "
ITEM "N|No"
ITEM "D|Descr."
ITEM "T|Tutto"
FLAGS "G"
END
LIST F_AGGCLIFO 6
BEGIN
PROMPT 1 12 "Aggiornamento Clienti/Fornitori gia' presenti "
ITEM "N|No"
ITEM "D|Descr."
ITEM "T|Tutto"
FLAGS "G"
END
LIST F_AGGPCON 6
BEGIN
PROMPT 1 13 "Aggiornamento voci Piano dei Conti gia' presenti "
ITEM "N|No"
ITEM "D|Descr."
ITEM "T|Tutto"
FLAGS "G"
END
LIST F_AGGIVD 6
BEGIN
PROMPT 1 14 "Aggiornamento classi Piano dei Conti "
ITEM "N|No"
ITEM "T|Tutto"
FLAGS "G"
END
BOOLEAN F_FATTEM
BEGIN
PROMPT 1 15 "Riattribuzione num. protocollo su fatture emesse "
FLAGS "G"
END
BOOLEAN F_FATTRIC
BEGIN
PROMPT 1 16 "Riattribuzione num. protocollo su fatture ricevute "
FLAGS "G"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

View File

@ -301,8 +301,10 @@ bool TInv_cont::create()
_mov = new TLocalisamfile (LF_MOV);
_rmov = new TLocalisamfile (LF_RMOV);
_rmoviva = new TLocalisamfile (LF_RMOVIVA);
_occas = new TLocalisamfile (LF_OCCAS);
_occas = new TLocalisamfile (LF_OCCAS);
_part = new TLocalisamfile (LF_PARTITE);
_scad = new TLocalisamfile (LF_SCADENZE);
_pagsca = new TLocalisamfile (LF_PAGSCA);
dispatch_e_menu (BAR_ITEM(1));
@ -318,8 +320,10 @@ bool TInv_cont::destroy()
delete _mov;
delete _rmov;
delete _rmoviva;
delete _occas;
delete _occas;
delete _part;
delete _scad;
delete _pagsca;
return TApplication::destroy();
}
@ -423,6 +427,36 @@ void TInv_cont::apri_file_temp()
else
_toccas = new TIsamtempfile(LF_OCCAS, tmpoccas, TRUE);
}
if (sigla == 'B')
{
TString80 tmppart = "%";
tmppart << firm2dir(0);
tmppart << "\\" << TEMP_PART;
tmp = tmppart.mid(1);
tmp << ".dbf";
if (fexist(tmp))
_tpart = new TIsamtempfile(LF_PARTITE, tmppart, FALSE);
else
_tpart = new TIsamtempfile(LF_PARTITE, tmppart, TRUE);
TString80 tmpscad = "%";
tmpscad << firm2dir(0);
tmpscad << "\\" << TEMP_SCAD;
tmp = tmpscad.mid(1);
tmp << ".dbf";
if (fexist(tmp))
_tscad = new TIsamtempfile(LF_SCADENZE, tmpscad, FALSE);
else
_tscad = new TIsamtempfile(LF_SCADENZE, tmpscad, TRUE);
TString80 tmppagsca = "%";
tmppagsca << firm2dir(0);
tmppagsca << "\\" << TEMP_PAGSCA;
tmp = tmppagsca.mid(1);
tmp << ".dbf";
if (fexist(tmp))
_tpagsca = new TIsamtempfile(LF_PAGSCA, tmppagsca, FALSE);
else
_tpagsca = new TIsamtempfile(LF_PAGSCA, tmppagsca, TRUE);
}
}
}
@ -451,6 +485,12 @@ void TInv_cont::chiudi_file_temp()
delete _triva;
delete _toccas;
}
if (sigla == 'B')
{
delete _tpart;
delete _tscad;
delete _tpagsca;
}
}
}
@ -984,6 +1024,10 @@ bool TInv_cont::invio_tempfile(TMask& m)
movIVA2tempfile(key,m);
break;
case 'B':
movSC2tempfile(key,m);
break;
default:
break;
};
@ -1066,7 +1110,7 @@ void TInv_cont::causali2tempfile(TString& key, TMask& m)
leggi_record_controllo();
TString chiave,app,sigla;
app.format("%-15s", (const char*) chiave);
app.format("%-60s", (const char*) chiave);
char sigla_p = _tras_file.ult_file()[0];
int posiz = _files.find(sigla_p);
TString nuova_sigla = " ";
@ -1186,7 +1230,7 @@ void TInv_cont::clifo2tempfile(TString& key, TMask& m)
leggi_record_controllo();
TString chiave,app,sigla;
app.format("%-15s", (const char*) chiave);
app.format("%-60s", (const char*) chiave);
char sigla_p = _tras_file.ult_file()[0];
int posiz = _files.find(sigla_p);
TString nuova_sigla = " ";
@ -1272,7 +1316,7 @@ void TInv_cont::pcon2tempfile(TString& key, TMask& m)
leggi_record_controllo();
TString chiave,app,sigla;
app.format("%-15s", (const char*) chiave);
app.format("%-60s", (const char*) chiave);
char sigla_p = _tras_file.ult_file()[0];
int posiz = _files.find(sigla_p);
TString nuova_sigla = " ";
@ -1393,7 +1437,7 @@ void TInv_cont::movPN2tempfile(TString& key, TMask& m)
leggi_record_controllo();
TString chiave,app,sigla;
app.format("%-15s", (const char*) chiave);
app.format("%-60s", (const char*) chiave);
char sigla_p = _tras_file.ult_file()[0];
int posiz = _files.find(sigla_p);
TString nuova_sigla = " ";
@ -1544,7 +1588,7 @@ void TInv_cont::movIVA2tempfile(TString& key, TMask& m)
leggi_record_controllo();
TString chiave,app,sigla;
app.format("%-15s", (const char*) chiave);
app.format("%-60s", (const char*) chiave);
char sigla_p = _tras_file.ult_file()[0];
int posiz = _files.find(sigla_p);
TString nuova_sigla = " ";
@ -1560,6 +1604,209 @@ void TInv_cont::movIVA2tempfile(TString& key, TMask& m)
// setta_parametri_record(m,"D");
}
void TInv_cont::SC_inviato(char tipo,int gruppo,int conto,long sottoc,
int anno,TString& numpart,int nriga)
{
_part->setkey(1);
_part->zero();
_part->put(PART_TIPOCF, tipo);
_part->put(PART_GRUPPO, gruppo);
_part->put(PART_CONTO, conto);
_part->put(PART_SOTTOCONTO, sottoc);
_part->put(PART_ANNO, anno);
_part->put(PART_NUMPART, numpart);
_part->put(PART_NRIGA, nriga);
if (_part->read() == NOERR)
{
_part->put(PART_INVIATA, "X");
_part->rewrite();
}
}
void TInv_cont::movSC2tempfile(TString& key, TMask& m)
{
int size = 1024;
_tras_file.open(_header);
long items = _part->items();
_prog = new TProgind(items,"Invio movimenti di Saldaconto in corso... Prego attendere.",FALSE);
_part->setkey(1);
if (key.empty())
_part->first();
else
{
char tipo = key.mid(0,1)[0];
int gruppo = atoi(key.mid(1,3));
int conto = atoi(key.mid(4,3));
long sottoc = atol(key.mid(7,6));
int anno = atoi(key.mid(13,4));
TString numpart = key.mid(17,7);
int nriga = atoi(key.mid(24,4));
_part->zero();
_part->put(PART_TIPOCF, tipo);
_part->put(PART_GRUPPO, gruppo);
_part->put(PART_CONTO, conto);
_part->put(PART_SOTTOCONTO, sottoc);
_part->put(PART_ANNO, anno);
_part->put(PART_NUMPART, numpart);
_part->put(PART_NRIGA, nriga);
_part->read();
}
for(; !_part->eof(); _part->next())
{
_prog->addstatus(1);
char tipo = _part->get_char(PART_TIPOCF);
int gruppo = _part->get_int (PART_GRUPPO);
int conto = _part->get_int (PART_CONTO);
long sottoc = _part->get_long(PART_SOTTOCONTO);
int anno = _part->get_int (PART_ANNO);
TString numpart = _part->get (PART_NUMPART);
int nriga = _part->get_int (PART_NRIGA);
int tipomov = _part->get_int (PART_TIPOMOV);
if (nriga == 9999) continue;
TDate datareg (_part->get_date(PART_DATAREG));
if ( _part->get_bool(PART_INVIATA) || datareg > _datalimsk ) continue;
_tpart->curr() = _part->curr();
if (_tpart->read() == NOERR)
{
_tpart->zero();
_tpart->curr() = _part->curr();
_tpart->rewrite();
}
else
{
_tpart->zero();
_tpart->curr() = _part->curr();
_tpart->write();
}
if (tipomov == 1)
scrivi_righeSCAD(tipo,gruppo,conto,sottoc,anno,numpart,nriga);
else
scrivi_righePAGSCA(tipo,gruppo,conto,sottoc,anno,numpart,nriga);
leggi_record_controllo();
TString chiave;
chiave.format("%c%03d%03d%06ld%04d%7s%04d", tipo,gruppo,conto,sottoc,anno,(const char*)numpart,nriga);
TString sigla (format("%c", 'B'));
_control_rec.overwrite(sigla,240);
_control_rec.overwrite(chiave,241);
_tras_file.write_control_rec(_control_rec,size);
SC_inviato(tipo,gruppo,conto,sottoc,anno,numpart,nriga);
}
delete _prog;
//Inizializzo l'ultima sigla file elaborato su trasfer con la sigla del file successivo da inviare
//e inizializzo la chiave, altrimenti se si blocca l'invio subito dopo aver finito un file si rischia di
//ritrasferire l'ultimo record quando si riparte; inoltre non si riesce a inviare il file successivo perche'
//la chiave e' compilata con i dati del file precedente.
leggi_record_controllo();
TString chiave,app,sigla;
app.format("%-60s", (const char*) chiave);
char sigla_p = _tras_file.ult_file()[0];
int posiz = _files.find(sigla_p);
TString nuova_sigla = " ";
if (posiz < _files.len())
nuova_sigla = _files.mid(posiz+1,1);
_control_rec.overwrite(nuova_sigla,240);
_control_rec.overwrite(app,241);
_tras_file.write_control_rec(_control_rec,size);
_tras_file.close();
}
void TInv_cont::scrivi_righeSCAD(char tipocf,int gruppo,int conto,long sottoc,
int anno,TString& numpart,int nriga)
{
_scad->zero();
_scad->put(SCAD_TIPOCF, tipocf);
if (gruppo != 0)
_scad->put(SCAD_GRUPPO, gruppo);
if (conto != 0)
_scad->put(SCAD_CONTO, conto);
if (sottoc != 0)
_scad->put(SCAD_SOTTOCONTO, sottoc);
_scad->put(SCAD_ANNO, anno);
_scad->put(SCAD_NUMPART, numpart);
_scad->put(SCAD_NRIGA, nriga);
TRectype scad (_scad->curr());
for (_scad->read(_isgteq); !_scad->eof(); _scad->next())
{
if (_scad->curr() != scad) break;
_tscad->curr() = _scad->curr();
if (_tscad->read() == NOERR)
{
_tscad->zero();
_tscad->curr() = _scad->curr();
_tscad->rewrite();
}
else
{
_tscad->zero();
_tscad->curr() = _scad->curr();
_tscad->write();
}
}
}
void TInv_cont::scrivi_righePAGSCA(char tipocf,int gruppo,int conto,long sottoc,
int anno,TString& numpart,int nriga)
{
_pagsca->zero();
_pagsca->put(PAGSCA_TIPOC, tipocf);
if (gruppo != 0)
_pagsca->put(PAGSCA_GRUPPO, gruppo);
if (conto != 0)
_pagsca->put(PAGSCA_CONTO, conto);
if (sottoc != 0)
_pagsca->put(PAGSCA_SOTTOCONTO, sottoc);
_pagsca->put(PAGSCA_ANNO, anno);
_pagsca->put(PAGSCA_NUMPART, numpart);
TRectype pagsca (_pagsca->curr());
for (_pagsca->read(_isgteq); !_pagsca->eof(); _pagsca->next())
{
int nrigp = _pagsca->get_int(PAGSCA_NRIGP);
if (_pagsca->curr() != pagsca) break;
if (nriga != nrigp) continue;
_tpagsca->curr() = _pagsca->curr();
if (_tpagsca->read() == NOERR)
{
_tpagsca->zero();
_tpagsca->curr() = _pagsca->curr();
_tpagsca->rewrite();
}
else
{
_tpagsca->zero();
_tpagsca->curr() = _pagsca->curr();
_tpagsca->write();
}
}
}
bool TInv_cont::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))

View File

@ -31,6 +31,9 @@
#include <pconti.h>
#include <comuni.h>
#include <occas.h>
#include <partite.h>
#include <scadenze.h>
#include <pagsca.h>
#include "cg6901.h"
#include "cg6903.h"
@ -49,8 +52,10 @@ class TInv_cont : public TApplication
TLocalisamfile* _mov;
TLocalisamfile* _rmov;
TLocalisamfile* _rmoviva;
TLocalisamfile* _occas;
TLocalisamfile* _occas;
TLocalisamfile* _part;
TLocalisamfile* _scad;
TLocalisamfile* _pagsca;
TIsamtempfile* _tcaus;
TIsamtempfile* _trcaus;
TIsamtempfile* _tclifo;
@ -59,6 +64,9 @@ class TInv_cont : public TApplication
TIsamtempfile* _trmov;
TIsamtempfile* _triva;
TIsamtempfile* _toccas;
TIsamtempfile* _tpart;
TIsamtempfile* _tscad;
TIsamtempfile* _tpagsca;
TArchive _arc;
char _scelta;
@ -69,7 +77,7 @@ class TInv_cont : public TApplication
bool _esiste_ditta, _esiste_record, _inviato, _flag_bollato;
long _ditta, _protiva, _uprotiva, _codcf, _numrec, _tot_rec;
long _dim_tot, _dim_disk,_dittaAS;
long _numrec_cau,_numrec_clifo,_numrec_pcon,_numrec_pn,_numrec_iva;
long _numrec_cau,_numrec_clifo,_numrec_pcon,_numrec_pn,_numrec_iva,_numrec_sc;
int _num,_annoes;
TDate _data, _datadoc, _data74ter,_datalimsk,_dataregiva,_datareg;
real _corrlire, _cambioi, _corrval;
@ -124,7 +132,12 @@ public:
void movIVA2tempfile(TString& key,TMask& m);
bool occasionali(const TString& ocfpi);
void iva_inviata(long numreg);
void movSC2tempfile(TString& key,TMask& m);
void scrivi_righeSCAD(char,int,int,long,int,TString&,int);
void scrivi_righePAGSCA(char,int,int,long,int,TString&,int);
void SC_inviato(char,int,int,long,int,TString&,int);
bool invio_contabilita();
bool invio_tab_cau();
bool invio_clifo ();
@ -144,7 +157,7 @@ public:
const char* cerca_provincia(const TString& comcf);
void cerca_dencom(TString& comcf,TString& dencom);
static bool setta_maschera_hnd(TMask_field& f, KEY k);
static bool messaggio_hnd (TMask_field& f, KEY k);
@ -160,7 +173,10 @@ public:
void invio_testata_movimenti();
void invio_righe_contabili();
void invio_righe_IVA();
void invio_occasionali(TString& record, TString& ocfpi);
void invio_occasionali(TString& record, TString& ocfpi);
void invio_partite();
void invio_scadenze();
void invio_pagsca();
void tipodocumento(long nreg,TString& tipodoc);
TInv_cont(char mov);

View File

@ -1,22 +1,23 @@
// Campi maschera tabella ditte per invio
#define F_DITTAINV 101
#define F_NUMULINV 103
#define F_DATAULIN 104
#define F_STATO 105
#define F_RAGSOC 106
#define F_USELAB 107
#define F_CHIAVE 108
#define F_DATALIM 109
#define F_DITTAAS 110
// Campi maschera cg2900b.uml
#define F_FLOPPY 201
#define F_DIM 202
// Campi maschera cg2903a.uml
#define F_RIPPN 250
#define F_RIPIVA 251
#define F_DATA 252
// Campi maschera tabella ditte per invio
#define F_DITTAINV 101
#define F_NUMULINV 103
#define F_DATAULIN 104
#define F_STATO 105
#define F_RAGSOC 106
#define F_USELAB 107
#define F_CHIAVE 108
#define F_DATALIM 109
#define F_DITTAAS 110
// Campi maschera cg6900b.uml
#define F_FLOPPY 201
#define F_DIM 202
// Campi maschera cg6903a.uml
#define F_RIPPN 250
#define F_RIPIVA 251
#define F_DATA 252
#define F_RIPSC 253

View File

@ -1,74 +1,74 @@
#include "cg6900a.h"
PAGE "Invio contabilita'" -1 -1 78 15
NUMBER F_DITTAINV 5
BEGIN
PROMPT 2 1 "Codice ditta inviante "
FLAGS "ZG"
CHECKTYPE REQUIRED
END
STRING F_RAGSOC 50
BEGIN
PROMPT 2 2 "Ragione sociale "
FLAGS "D"
END
NUMBER F_NUMULINV 3
BEGIN
PROMPT 2 4 "Numero ultimo invio "
FLAGS "RG"
END
DATE F_DATAULIN
BEGIN
PROMPT 45 4 "Data ultimo invio "
END
STRING F_STATO 1
BEGIN
PROMPT 2 6 "Stato ultimo "
END
STRING F_USELAB 1
BEGIN
PROMPT 19 6 ""
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "invio "
END
STRING F_CHIAVE 60
BEGIN
PROMPT 15 7 ""
END
DATE F_DATALIM
BEGIN
PROMPT 2 9 "Data limite invio "
CHECKTYPE REQUIRED
END
NUMBER F_DITTAAS 4
BEGIN
PROMPT 2 11 "Ditta da inviare a sistema "
FLAGS "H"
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
#include "cg6900a.h"
PAGE "Invio contabilita'" -1 -1 78 15
NUMBER F_DITTAINV 5
BEGIN
PROMPT 2 1 "Codice ditta inviante "
FLAGS "ZG"
CHECKTYPE REQUIRED
END
STRING F_RAGSOC 50
BEGIN
PROMPT 2 2 "Ragione sociale "
FLAGS "D"
END
NUMBER F_NUMULINV 3
BEGIN
PROMPT 2 4 "Numero ultimo invio "
FLAGS "RG"
END
DATE F_DATAULIN
BEGIN
PROMPT 45 4 "Data ultimo invio "
END
STRING F_STATO 1
BEGIN
PROMPT 2 6 "Stato ultimo "
END
STRING F_USELAB 1
BEGIN
PROMPT 19 6 ""
END
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "invio "
END
STRING F_CHIAVE 60
BEGIN
PROMPT 15 7 ""
END
DATE F_DATALIM
BEGIN
PROMPT 2 9 "Data limite invio "
CHECKTYPE REQUIRED
END
NUMBER F_DITTAAS 4
BEGIN
PROMPT 2 11 "Ditta da inviare a sistema "
FLAGS "H"
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

View File

@ -1,34 +1,34 @@
#include "cg6900a.h"
PAGE "" -1 -1 40 7
LIST F_FLOPPY 1 5
BEGIN
PROMPT 1 1 "Disco "
ITEM "A|A:"
ITEM "B|B:"
END
LIST F_DIM 7
BEGIN
PROMPT 1 3 "Dimensione dischi "
ITEM "1|1,4 Mb"
ITEM "2|1,2 Mb"
ITEM "3|720 Kb"
ITEM "4|360 Kb"
HELP "Indicare la dimensione dei dischi che si vogliono usare"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK
#include "cg6900a.h"
PAGE "" -1 -1 40 7
LIST F_FLOPPY 1 5
BEGIN
PROMPT 1 1 "Disco "
ITEM "A|A:"
ITEM "B|B:"
END
LIST F_DIM 7
BEGIN
PROMPT 1 3 "Dimensione dischi "
ITEM "1|1,4 Mb"
ITEM "2|1,2 Mb"
ITEM "3|720 Kb"
ITEM "4|360 Kb"
HELP "Indicare la dimensione dei dischi che si vogliono usare"
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

File diff suppressed because it is too large Load Diff

View File

@ -1,54 +1,57 @@
// Lista controllo archivi
#include <applicat.h>
#include <printer.h>
#include <tabutil.h>
#include <utility.h>
#include <urldefid.h>
#include <lffiles.h>
#include <nditte.h>
#include <mailbox.h>
#include <causali.h>
#include <rcausali.h>
#include <clifo.h>
#include <pconti.h>
#include <mov.h>
#include <rmov.h>
#include <rmoviva.h>
class TLista_archivi : public TApplication
{
TLocalisamfile* _ditte;
TLocalisamfile* _caus;
TLocalisamfile* _rcaus;
TLocalisamfile* _clifo;
TLocalisamfile* _pcon;
TLocalisamfile* _mov;
TLocalisamfile* _rmov;
TLocalisamfile* _rmoviva;
TString _files, _ragsoc;
TDate _datalimite;
long _ditta;
bool _errore_grave;
int _risposta;
public:
TString _titolo;
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool set();
bool tabella_ditta();
void controlla_causali (char sigla);
void controlla_clifo (char sigla);
void controlla_pcon (char sigla);
void controlla_PNIVA (char sigla);
void controlla_fatture (char sigla);
void setta_intestazione(char sigla);
bool controlla_valore (const TString& val,int lim, int len);
TLista_archivi() {};
};
// Lista controllo archivi
#include <applicat.h>
#include <printer.h>
#include <tabutil.h>
#include <utility.h>
#include <urldefid.h>
#include <lffiles.h>
#include <nditte.h>
#include <mailbox.h>
#include <causali.h>
#include <rcausali.h>
#include <clifo.h>
#include <pconti.h>
#include <mov.h>
#include <rmov.h>
#include <rmoviva.h>
class TLista_archivi : public TApplication
{
TLocalisamfile* _ditte;
TLocalisamfile* _caus;
TLocalisamfile* _rcaus;
TLocalisamfile* _clifo;
TLocalisamfile* _pcon;
TLocalisamfile* _mov;
TLocalisamfile* _rmov;
TLocalisamfile* _rmoviva;
TLocalisamfile* _part;
TLocalisamfile* _scad;
TLocalisamfile* _pagsca;
TString _files, _ragsoc;
TDate _datalimite;
long _ditta;
bool _errore_grave;
int _risposta;
public:
TString _titolo;
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool set();
bool tabella_ditta();
void controlla_causali (char sigla);
void controlla_clifo (char sigla);
void controlla_pcon (char sigla);
void controlla_PNIVA (char sigla);
void controlla_fatture (char sigla);
void setta_intestazione(char sigla);
bool controlla_valore (const TString& val,int lim, int len);
TLista_archivi() {};
};

File diff suppressed because it is too large Load Diff

View File

@ -1,74 +1,102 @@
#include "cg6903.h"
#include "cg6900a.h"
bool TRip_flag::create()
{
TApplication::create();
_mov = new TLocalisamfile (LF_MOV);
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TRip_flag::destroy()
{
delete _mov;
return TApplication::destroy();
}
bool TRip_flag::set()
{
TMask msk ("cg6903a");
KEY k;
k = msk.run();
if (k == K_ENTER)
{
long ditta = msk.get_long(F_DITTAINV);
TDate datalim (msk.get(F_DATA));
bool rippn = msk.get_bool(F_RIPPN);
bool ripiva = msk.get_bool(F_RIPIVA);
if (!rippn && !ripiva) return FALSE; // Se non flaggo nessuno dei due non ha
// senso scorrere l'archivio.
set_firm(ditta);
long cicli = _mov->items();
_prog = new TProgind(cicli,"Ripristino movimenti in corso... Prego attendere.",FALSE);
_mov->setkey(1);
_mov->zero();
for (_mov->first();!_mov->eof();_mov->next())
{
TDate datareg (_mov->get_date(MOV_DATAREG));
_prog->addstatus(1);
if (datareg < datalim) continue;
if (rippn)
_mov->zero(MOV_INVIATO);
if (ripiva)
_mov->zero(MOV_INVIVA);
_mov->rewrite();
}
delete _prog;
}
return FALSE;
}
bool TRip_flag::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return set();
return FALSE;
}
#include "cg6903.h"
#include "cg6900a.h"
bool TRip_flag::create()
{
TApplication::create();
_mov = new TLocalisamfile (LF_MOV);
_part = new TLocalisamfile (LF_PARTITE);
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TRip_flag::destroy()
{
delete _mov;
delete _part;
return TApplication::destroy();
}
bool TRip_flag::set()
{
TMask msk ("cg6903a");
KEY k;
k = msk.run();
if (k == K_ENTER)
{
long ditta = msk.get_long(F_DITTAINV);
TDate datalim (msk.get(F_DATA));
bool rippn = msk.get_bool(F_RIPPN);
bool ripiva = msk.get_bool(F_RIPIVA);
bool ripsc = msk.get_bool(F_RIPSC);
if (!rippn && !ripiva && !ripsc) return FALSE; // Se non flaggo nessuno dei tre non ha
// senso scorrere l'archivio.
set_firm(ditta);
if (rippn || ripiva)
{
long cicli = _mov->items();
_prog = new TProgind(cicli,"Ripristino movimenti in corso... Prego attendere.",FALSE);
_mov->setkey(1);
_mov->zero();
for (_mov->first();!_mov->eof();_mov->next())
{
TDate datareg (_mov->get_date(MOV_DATAREG));
_prog->addstatus(1);
if (datareg < datalim) continue;
if (rippn)
_mov->zero(MOV_INVIATO);
if (ripiva)
_mov->zero(MOV_INVIVA);
_mov->rewrite();
}
delete _prog;
}
if (ripsc)
{
long cicli = _part->items();
_prog = new TProgind(cicli,"Ripristino movimenti saldaconto in corso... Prego attendere.",FALSE);
_part->setkey(1);
_part->zero();
for (_part->first();!_part->eof();_part->next())
{
TDate datareg (_part->get_date(PART_DATAREG));
_prog->addstatus(1);
if (datareg < datalim) continue;
_part->zero(PART_INVIATA);
_part->rewrite();
}
delete _prog;
}
}
return FALSE;
}
bool TRip_flag::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return set();
return FALSE;
}

View File

@ -1,26 +1,28 @@
// Ripristino flag invio PN e IVA
#include <applicat.h>
#include <isam.h>
#include <urldefid.h>
#include <mask.h>
#include <progind.h>
#include "cg2.h"
#include <mov.h>
class TRip_flag : public TApplication
{
TLocalisamfile* _mov;
TProgind* _prog;
public:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool set();
TRip_flag() {}
};
// Ripristino flag invio PN e IVA
#include <applicat.h>
#include <isam.h>
#include <urldefid.h>
#include <mask.h>
#include <progind.h>
#include "cg2.h"
#include <mov.h>
#include <partite.h>
class TRip_flag : public TApplication
{
TLocalisamfile* _mov;
TLocalisamfile* _part;
TProgind* _prog;
public:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool set();
TRip_flag() {}
};

View File

@ -1,51 +1,56 @@
#include "cg6900a.h"
PAGE "Invio contabilita'" -1 -1 76 11
NUMBER F_DITTAINV 5
BEGIN
PROMPT 2 1 "Codice ditta inviante "
USE LF_NDITTE KEY 1
INPUT CODDITTA F_DITTAINV
DISPLAY "Ditta" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_DITTAINV CODDITTA
OUTPUT F_RAGSOC RAGSOC
FLAGS "Z"
CHECKTYPE REQUIRED
END
STRING F_RAGSOC 50
BEGIN
PROMPT 2 2 "Ragione sociale "
FLAGS "D"
END
BOOLEAN F_RIPPN
BEGIN
PROMPT 2 4 "Ripristina movimenti di primanota"
END
BOOLEAN F_RIPIVA
BEGIN
PROMPT 2 5 "Ripristina movimenti iva"
END
DATE F_DATA
BEGIN
PROMPT 2 7 "Data inizio ripristino "
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK
#include "cg6900a.h"
PAGE "Invio contabilita'" -1 -1 76 12
NUMBER F_DITTAINV 5
BEGIN
PROMPT 2 1 "Codice ditta inviante "
USE LF_NDITTE KEY 1
INPUT CODDITTA F_DITTAINV
DISPLAY "Ditta" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_DITTAINV CODDITTA
OUTPUT F_RAGSOC RAGSOC
FLAGS "Z"
CHECKTYPE REQUIRED
END
STRING F_RAGSOC 50
BEGIN
PROMPT 2 2 "Ragione sociale "
FLAGS "D"
END
BOOLEAN F_RIPPN
BEGIN
PROMPT 2 4 "Ripristina movimenti di primanota"
END
BOOLEAN F_RIPIVA
BEGIN
PROMPT 2 5 "Ripristina movimenti iva"
END
BOOLEAN F_RIPSC
BEGIN
PROMPT 2 6 "Ripristina movimenti saldaconto"
END
DATE F_DATA
BEGIN
PROMPT 2 8 "Data inizio ripristino "
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -26,6 +26,9 @@
#include <rcausali.h>
#include <causali.h>
#include <occas.h>
#include <partite.h>
#include <scadenze.h>
#include <pagsca.h>
#include "cg2103.h"
@ -36,7 +39,10 @@
#define TEMP_MOV "tmov"
#define TEMP_RMOV "trmov"
#define TEMP_RMOVIVA "trmoviva"
#define TEMP_OCC "toccas"
#define TEMP_OCC "toccas"
#define TEMP_PART "tpart"
#define TEMP_SCAD "tscad"
#define TEMP_PAGSCA "tpagsca"
#define TEMP_TAB "ttab"
#define SIZE 256
@ -124,7 +130,6 @@ class TTransfer_file
{
FILE* _trasfer;
TArray _index;
// TAssoc_array _fis_index;
TMappa_trc _trc;
TString _curfile;
TString256 _control_rec_t; // Buffer per il record di controllo del trasfer
@ -140,6 +145,9 @@ class TTransfer_file
TIsamtempfile* _trmov;
TIsamtempfile* _triva;
TIsamtempfile* _toccas;
TIsamtempfile* _tpart;
TIsamtempfile* _tscad;
TIsamtempfile* _tpagsca;
TIsamtempfile* _ttab;
TRectype* _depcaus;
TRectype* _deprcaus;
@ -149,8 +157,17 @@ class TTransfer_file
TRectype* _deprmov;
TRectype* _depriva;
TRectype* _depoccas;
TRectype* _deppart;
TRectype* _depscad;
TRectype* _deppagsca;
TRecnotype _rec; //Serve alle funzioni per istanziare un Isamtempfile localmente
long _numreg, _numreg_p, _numreg_piva, _npoccas;
long _nregSC, _nregSC_p;
int _numrigSC, _numrigSC_p, _annoSC, _annoSC_p, _nrigaSC;
TString _numpartSC, _numpartSC_p;
int _annoes;
TDate _datareg;
TString _cod_com;
@ -169,19 +186,27 @@ class TTransfer_file
TString _ult_file;
TString _key;
TString80 _tmpcaus,_tmprcaus,_tmpclifo,_tmppcon,_tmpmov;
TString80 _tmprmov,_tmprmoviva;
private:
TString80 _tmprmov,_tmprmoviva,_tmppart,_tmpscad,_tmppagsca;
TString _recprec;
long _SCAnreg,_SCAnreg_p;
int _SCAnumrig,_SCAnumrig_p,_SCAanno,_SCAanno_p,_annoSCA,_nrigaSCA,_nrataSCA,_SCAnriga_p;
TString _SCAnumpart,_SCAnumpart_p;
real _imp,_impval;
bool _esiste_pagsca;
private:
// Inizializza l'indice leggendo il record di controllo
void fill_index(TString&,TString&);
// Funzioni utilizzate da fcopytemp() nella ricezione da Sistema
// Funzioni utilizzate da fcopytemp() nella ricezione da Sistema
void scrivi_header(const char* dest,const char* wflag);
void scrivi_causali(long nrec);
void scrivi_clifo(long nrec);
void scrivi_pcon(long nrec);
void scrivi_PN(long nrec);
void scrivi_IVA(long nrec);
void scrivi_IVA(long nrec);
void scrivi_SC(long nrec);
void write_tmp_tabelle(TString& record, bool create);
int trasfer_data_tab(TIsamtempfile& file, TRectype& dep);
@ -189,7 +214,25 @@ private:
int trasfer_data_mov(TIsamtempfile& file, TRectype& dep);
void write_tmp_movIVA(TString& record, bool create);
int trasfer_data_moviva(TIsamtempfile& file, TRectype& dep, int ln);
// Funzioni per la ricezione del Saldaconto da Sistema
void write_tmp_movSC(TString& record, bool create);
void new_key(TString& key, int tipo, TString& buffer);
void tipo_anagrafica(TString& record,TString& tipo);
int ultima_riga_partita(TString& record);
void partita (TString& record);
void scadenza(TString& record);
void pagsca (TString& record);
void calcola_imposta(TString& numreg, real& imposta);
void calcola_impdocval(long nreg,int nrig,TString& record);
bool solo_SC(TString& numreg);
void calcola_importo(TString& record);
int recupera_scadenze(TString& record,TString& tipo);
char what_is_this(TString& record,TString& tipo);
void aggiorna_partita(TString& record,TString& tipo,real& importo,real& importoval,real& abbuoni,real& diffcam,real& ritenute);
char leggi_sez_partita(TString& record,TString& tipo);
///////////////////////////////////////////////////////////////////////
// Funzioni utilizzate nella ricezione da sistema e da PC
char TipoConto (int gruppo, int conto);
const char* numero_civico(TString& field);
void leggi_record_controllo();
@ -201,8 +244,9 @@ private:
int look(unsigned char carattere);
int cerca_annoes(long numreg, TString& tipodoc);
const char* scrivi_occasionali(const TString& record);
///////////////////////////////////////////////////////////////////////
// Funzioni utilizzate da fcopytemp_PC() nella ricezione da PC
// Funzioni utilizzate da fcopytemp_PC() nella ricezione da PC
void write_testata_causali(TString& record);
void write_righe_causali(TString& record);
void write_clienti_fornitori(TString& record);
@ -210,7 +254,11 @@ private:
void write_testata_movimenti(TString& record);
void write_righe_contabili(TString& record);
void write_righe_IVA(TString& record);
// Funzioni utilizzate per la ricezione Saldaconto da PC
void write_partite(TString& record);
void write_scadenze(TString& record);
void write_pagsca(TString& record);
int annoes_PC(TString& data);
void causale(TString& cau,TString& tipo,TString& descr);
int registro(TString& reg,int anno);

View File

@ -1,230 +1,341 @@
# Istruzioni per l' uso della mappa cgtrc.ini
#
# A | B | C | D | E | F | G | H |
#
# A = Sigla di identificazione dei vari archivi all' interno del trasfer
# W1 = Tabella causali
# A1 = Clienti / Fornitori
# P1-P2-P3 = Piano dei conti
# Z1 = Movimenti di prima nota
# U1 = Movimenti Iva
#
# B = Numero progressivo del campo all'interno dell'archivio
#
# C = Posizione iniziale del campo sul record del trasfer
#
# D = Posizione finale del campo sul record del trasfer
#
# E = Numero di identificazione degli archivi su PC
#
# F = Nome del campo degli archivi su PC
#
# G = Questo e' un campo jolly che permette di eseguire determinate operazioni all'interno del programma
# e puo' assumere i seguenti valori:
# 1 -> indica quali sono i campi che devono essere trasferiti se i flag sulla
# tabella della ricezione indica di non trasferire tutto il record.
# 2 -> se il campo in questione e' una data.
# 3 -> se il campo in questione e' un reale con dei decimali.
#
# H = E' un ulteriore campo jolly da accostare ai campi reali con decimali.
# Serve per indicare il numero di decimali. ES: se il campo in questione
# e' un reale con 2 decimali il flag G deve essere 3 mentre il flag H
# deve essere 2.
#
W1|1|256|256|26||||
W1|2|3|5|26|CODCAUS|||
W1|3|16|35|26|DESCR|1||
W1|4|36|37|26|TIPODOC|||
W1|5|38|38|26|REG|||
W1|6|39|39|26|ALLEG|||
W1|7|40|40|26|M770|||
W1|8|41|41|26|COLLCESP|||
W1|9|207|207|26|NUMDOC|||
W1|10|208|208|26|DATADOC|||
W1|11|210|212|26|CODCAUSIM|||
W1|12|247|247|26|INTRACOM|||
W1|13|248|248|26|VALINTRA|||
W1|14|249|249|26|RITFATT|||
W1|15|250|250|26|AUTOFATT|||
W1|16|213|213|26|MOVAP|||
W1|17|3|5|27|CODCAUS|||
W1|18|42|43|27|GRUPPO|||
W1|19|44|45|27|CONTO|||
W1|20|46|51|27|SOTTOCONTO|||
W1|21|192|192|27|SEZIONE|||
W1|22|3|5|27|CODCAUS|||
W1|23|52|53|27|GRUPPO|||
W1|24|54|55|27|CONTO|||
W1|25|56|61|27|SOTTOCONTO|||
W1|26|193|193|27|SEZIONE|||
W1|27|3|5|27|CODCAUS|||
W1|28|62|63|27|GRUPPO|||
W1|29|64|65|27|CONTO|||
W1|30|66|71|27|SOTTOCONTO|||
W1|31|194|194|27|SEZIONE|||
W1|32|3|5|27|CODCAUS|||
W1|33|72|73|27|GRUPPO|||
W1|34|74|75|27|CONTO|||
W1|35|76|81|27|SOTTOCONTO|||
W1|36|195|195|27|SEZIONE|||
W1|37|3|5|27|CODCAUS|||
W1|38|82|83|27|GRUPPO|||
W1|39|84|85|27|CONTO|||
W1|40|86|91|27|SOTTOCONTO|||
W1|41|196|196|27|SEZIONE|||
W1|42|3|5|27|CODCAUS|||
W1|43|92|93|27|GRUPPO|||
W1|44|94|95|27|CONTO|||
W1|45|96|101|27|SOTTOCONTO|||
W1|46|197|197|27|SEZIONE|||
W1|47|3|5|27|CODCAUS|||
W1|48|102|103|27|GRUPPO|||
W1|49|104|105|27|CONTO|||
W1|50|106|111|27|SOTTOCONTO|||
W1|51|198|198|27|SEZIONE|||
W1|52|3|5|27|CODCAUS|||
W1|53|112|113|27|GRUPPO|||
W1|54|114|115|27|CONTO|||
W1|55|116|121|27|SOTTOCONTO|||
W1|56|199|199|27|SEZIONE|||
W1|57|3|5|27|CODCAUS|||
W1|58|122|123|27|GRUPPO|||
W1|59|124|125|27|CONTO|||
W1|60|126|131|27|SOTTOCONTO|||
W1|61|200|200|27|SEZIONE|||
W1|62|3|5|27|CODCAUS|||
W1|63|132|133|27|GRUPPO|||
W1|64|134|135|27|CONTO|||
W1|65|136|141|27|SOTTOCONTO|||
W1|66|201|201|27|SEZIONE|||
W1|67|3|5|27|CODCAUS|||
W1|68|142|143|27|GRUPPO|||
W1|69|144|145|27|CONTO|||
W1|70|146|151|27|SOTTOCONTO|||
W1|71|202|202|27|SEZIONE|||
W1|72|3|5|27|CODCAUS|||
W1|73|152|153|27|GRUPPO|||
W1|74|154|155|27|CONTO|||
W1|75|156|161|27|SOTTOCONTO|||
W1|76|203|203|27|SEZIONE|||
W1|77|3|5|27|CODCAUS|||
W1|78|162|163|27|GRUPPO|||
W1|79|164|165|27|CONTO|||
W1|80|166|171|27|SOTTOCONTO|||
W1|81|204|204|27|SEZIONE|||
W1|82|3|5|27|CODCAUS|||
W1|83|172|173|27|GRUPPO|||
W1|84|174|175|27|CONTO|||
W1|85|176|181|27|SOTTOCONTO|||
W1|86|205|205|27|SEZIONE|||
W1|87|3|5|27|CODCAUS|||
W1|88|182|183|27|GRUPPO|||
W1|89|184|185|27|CONTO|||
W1|90|186|191|27|SOTTOCONTO|||
W1|91|206|206|27|SEZIONE|||
A1|1|256|256|20||||
A1|2|3|3|20|TIPOCF|||
A1|3|4|9|20|CODCF|||
A1|4|16|16|20|TIPOPERS|||
A1|5|17|66|20|RAGSOC|1||
A1|6|67|77|20|PAIV|1||
A1|7|78|93|20|COFI|1||
A1|8|94|128|20|INDCF|1||
A1|9|129|133|20|CAPCF|||
A1|10|134|153|20|LOCALITACF|1||
A1|11|156|167|20|TEL|1||
A1|12|168|168|20|ALLEG|||
A1|13|169|170|20|GRUPPORIC|||
A1|14|171|172|20|CONTORIC|||
A1|15|173|178|20|SOTTOCRIC|||
A1|16|180|185|20|CODALLEG|||
A1|17|186|187|20|CODPAG|||
P1|1|256|256|19||||
P1|2|3|4|19|GRUPPO|||
P1|3|16|45|19|DESCR|1||
P2|1|256|256|19||||
P2|2|3|4|19|GRUPPO|||
P2|3|5|6|19|CONTO|||
P2|4|16|45|19|DESCR|1||
P2|5|46|46|19|INDBIL|||
P2|6|47|47|19|TMCF|||
P2|7|48|48|19|STSOTTBIL|||
#P2|8|49|49|19|SEZIVD|||
#P2|9|50|50|19|LETTIVD|||
#P2|10|61|63|19|NUMRIVD|||
#P2|11|59|60|19|NUMIVD|||
#P2|12|64|64|19|SEZIVDOPP|||
#P2|13|65|65|19|LETTIVDOPP|||
#P2|14|76|78|19|NUMRIVDOPP|||
#P2|15|74|75|19|NUMIVDOPP|||
P3|1|256|256|19||||
P3|2|3|4|19|GRUPPO|||
P3|3|5|6|19|CONTO|||
P3|4|7|12|19|SOTTOCONTO|||
P3|5|16|45|19|DESCR|1||
P3|6|46|46|19|TIPOSPRIC|||
P3|7|47|47|19|RICSER|||
#P3|8|48|48|19|SEZIVD|||
#P3|9|49|49|19|LETTIVD|||
#P3|10|60|62|19|NUMRIVD|||
#P3|11|58|59|19|NUMIVD|||
#P3|12|63|63|19|SEZIVDOPP|||
#P3|13|64|64|19|LETTIVDOPP|||
#P3|14|75|77|19|NUMRIVDOPP|||
#P3|15|73|74|19|NUMIVDOPP|||
Z1|0|16|21|23|DATAREG|||
Z1|1|250|250|23||||
Z1|2|251|256|23||||
Z1|3|3|8|23|NUMREG|||
Z1|4|23|28|23|DATADOC|2||
Z1|5|29|35|23|NUMDOC|||
Z1|6|36|36|23|REG|||
Z1|7|37|41|23|PROTIVA|||
Z1|8|42|44|23|CODCAUS|||
Z1|9|96|97|23|CODPAG|||
Z1|10|109|113|23|UPROTIVA|||
Z1|11|221|222|23|TIPODOC|||
Z1|12|238|248|23|TOTDOC|||
Z1|13|3|8|24|NUMREG|||
Z1|14|9|10|24|NUMRIG|||
Z1|15|45|74|24|DESCR|||
Z1|16|75|76|24|GRUPPO|||
Z1|17|77|78|24|CONTO|||
Z1|18|79|84|24|SOTTOCONTO|||
Z1|19|85|85|24|SEZIONE|||
Z1|20|86|87|24|GRUPPOC|||
Z1|21|88|89|24|CONTOC|||
Z1|22|90|95|24|SOTTOCONTC|||
Z1|23|98|108|24|IMPORTO|||
Z1|49|223|223|24||||
Z1|50|220|220|23||||
Z1|51|249|249|23||||
Z1|52|22|22|23||||
U1|1|250|250|23||||
U1|2|251|256|23||||
U1|3|3|8|23|NUMREG|||
U1|4|56|61|23|DATA74TER|2||
U1|5|147|149|23|CODVALI|||
U1|6|16|21|23|CODCF|||
U1|7|238|248|23|TOTDOC|||
U1|8|150|160|23|CAMBIOI|3|5|
U1|9|136|146|23|CORRLIRE|||
U1|10|161|174|23|CORRVALUTA|3|3|
U1|11|3|8|25|NUMREG|||
U1|12|9|10|25|NUMRIG|||
U1|13|33|34|25|CODIVA|||
U1|14|22|32|25|IMPONIBILE|||
U1|15|35|43|25|IMPOSTA|||
U1|16|45|45|25|TIPODET|||
U1|17|44|44|25|TIPOCR|||
U1|18|134|134|25|TIPOATT|||
U1|19|46|47|25|GRUPPO|||
U1|20|48|49|25|CONTO|||
U1|21|50|55|25|SOTTOCONTO|||
U1|22|135|135|25|INTRA|||
U1|50|62|86|||||
U1|51|249|249|23||||
U1|52|109|126|||||
U1|53|127|131|||||
U1|54|132|133|||||
U1|56|87|108|||||
# Istruzioni per l' uso della mappa cgtrc.ini
#
# A | B | C | D | E | F | G | H |
#
# A = Sigla di identificazione dei vari archivi all' interno del trasfer
# W1 = Tabella causali
# A1 = Clienti / Fornitori
# P1-P2-P3 = Piano dei conti
# Z1 = Movimenti di prima nota
# U1 = Movimenti Iva
#
# B = Numero progressivo del campo all'interno dell'archivio
#
# C = Posizione iniziale del campo sul record del trasfer
#
# D = Posizione finale del campo sul record del trasfer
#
# E = Numero di identificazione degli archivi su PC
#
# F = Nome del campo degli archivi su PC
#
# G = Questo e' un campo jolly che permette di eseguire determinate operazioni all'interno del programma
# e puo' assumere i seguenti valori:
# 1 -> indica quali sono i campi che devono essere trasferiti se i flag sulla
# tabella della ricezione indica di non trasferire tutto il record.
# 2 -> se il campo in questione e' una data.
# 3 -> se il campo in questione e' un reale con dei decimali.
#
# H = E' un ulteriore campo jolly da accostare ai campi reali con decimali.
# Serve per indicare il numero di decimali. ES: se il campo in questione
# e' un reale con 2 decimali il flag G deve essere 3 mentre il flag H
# deve essere 2.
#
W1|1|256|256|26||||
W1|2|3|5|26|CODCAUS|||
W1|3|16|35|26|DESCR|1||
W1|4|36|37|26|TIPODOC|||
W1|5|38|38|26|REG|||
W1|6|39|39|26|ALLEG|||
W1|7|40|40|26|M770|||
W1|8|41|41|26|COLLCESP|||
W1|9|207|207|26|NUMDOC|||
W1|10|208|208|26|DATADOC|||
W1|11|210|212|26|CODCAUSIM|||
W1|12|247|247|26|INTRACOM|||
W1|13|248|248|26|VALINTRA|||
W1|14|249|249|26|RITFATT|||
W1|15|250|250|26|AUTOFATT|||
W1|16|213|213|26|MOVAP|||
W1|17|3|5|27|CODCAUS|||
W1|18|42|43|27|GRUPPO|||
W1|19|44|45|27|CONTO|||
W1|20|46|51|27|SOTTOCONTO|||
W1|21|192|192|27|SEZIONE|||
W1|22|3|5|27|CODCAUS|||
W1|23|52|53|27|GRUPPO|||
W1|24|54|55|27|CONTO|||
W1|25|56|61|27|SOTTOCONTO|||
W1|26|193|193|27|SEZIONE|||
W1|27|3|5|27|CODCAUS|||
W1|28|62|63|27|GRUPPO|||
W1|29|64|65|27|CONTO|||
W1|30|66|71|27|SOTTOCONTO|||
W1|31|194|194|27|SEZIONE|||
W1|32|3|5|27|CODCAUS|||
W1|33|72|73|27|GRUPPO|||
W1|34|74|75|27|CONTO|||
W1|35|76|81|27|SOTTOCONTO|||
W1|36|195|195|27|SEZIONE|||
W1|37|3|5|27|CODCAUS|||
W1|38|82|83|27|GRUPPO|||
W1|39|84|85|27|CONTO|||
W1|40|86|91|27|SOTTOCONTO|||
W1|41|196|196|27|SEZIONE|||
W1|42|3|5|27|CODCAUS|||
W1|43|92|93|27|GRUPPO|||
W1|44|94|95|27|CONTO|||
W1|45|96|101|27|SOTTOCONTO|||
W1|46|197|197|27|SEZIONE|||
W1|47|3|5|27|CODCAUS|||
W1|48|102|103|27|GRUPPO|||
W1|49|104|105|27|CONTO|||
W1|50|106|111|27|SOTTOCONTO|||
W1|51|198|198|27|SEZIONE|||
W1|52|3|5|27|CODCAUS|||
W1|53|112|113|27|GRUPPO|||
W1|54|114|115|27|CONTO|||
W1|55|116|121|27|SOTTOCONTO|||
W1|56|199|199|27|SEZIONE|||
W1|57|3|5|27|CODCAUS|||
W1|58|122|123|27|GRUPPO|||
W1|59|124|125|27|CONTO|||
W1|60|126|131|27|SOTTOCONTO|||
W1|61|200|200|27|SEZIONE|||
W1|62|3|5|27|CODCAUS|||
W1|63|132|133|27|GRUPPO|||
W1|64|134|135|27|CONTO|||
W1|65|136|141|27|SOTTOCONTO|||
W1|66|201|201|27|SEZIONE|||
W1|67|3|5|27|CODCAUS|||
W1|68|142|143|27|GRUPPO|||
W1|69|144|145|27|CONTO|||
W1|70|146|151|27|SOTTOCONTO|||
W1|71|202|202|27|SEZIONE|||
W1|72|3|5|27|CODCAUS|||
W1|73|152|153|27|GRUPPO|||
W1|74|154|155|27|CONTO|||
W1|75|156|161|27|SOTTOCONTO|||
W1|76|203|203|27|SEZIONE|||
W1|77|3|5|27|CODCAUS|||
W1|78|162|163|27|GRUPPO|||
W1|79|164|165|27|CONTO|||
W1|80|166|171|27|SOTTOCONTO|||
W1|81|204|204|27|SEZIONE|||
W1|82|3|5|27|CODCAUS|||
W1|83|172|173|27|GRUPPO|||
W1|84|174|175|27|CONTO|||
W1|85|176|181|27|SOTTOCONTO|||
W1|86|205|205|27|SEZIONE|||
W1|87|3|5|27|CODCAUS|||
W1|88|182|183|27|GRUPPO|||
W1|89|184|185|27|CONTO|||
W1|90|186|191|27|SOTTOCONTO|||
W1|91|206|206|27|SEZIONE|||
A1|1|256|256|20||||
A1|2|3|3|20|TIPOCF|||
A1|3|4|9|20|CODCF|||
A1|4|16|16|20|TIPOPERS|||
A1|5|17|66|20|RAGSOC|1||
A1|6|67|77|20|PAIV|1||
A1|7|78|93|20|COFI|1||
A1|8|94|128|20|INDCF|1||
A1|9|129|133|20|CAPCF|||
A1|10|134|153|20|LOCALITACF|1||
A1|11|156|167|20|TEL|1||
A1|12|168|168|20|ALLEG|||
A1|13|169|170|20|GRUPPORIC|||
A1|14|171|172|20|CONTORIC|||
A1|15|173|178|20|SOTTOCRIC|||
A1|16|180|185|20|CODALLEG|||
A1|17|186|187|20|CODPAG|||
P1|1|256|256|19||||
P1|2|3|4|19|GRUPPO|||
P1|3|16|45|19|DESCR|1||
P2|1|256|256|19||||
P2|2|3|4|19|GRUPPO|||
P2|3|5|6|19|CONTO|||
P2|4|16|45|19|DESCR|1||
P2|5|46|46|19|INDBIL|||
P2|6|47|47|19|TMCF|||
P2|7|48|48|19|STSOTTBIL|||
#P2|8|49|49|19|SEZIVD|||
#P2|9|50|50|19|LETTIVD|||
#P2|10|61|63|19|NUMRIVD|||
#P2|11|59|60|19|NUMIVD|||
#P2|12|64|64|19|SEZIVDOPP|||
#P2|13|65|65|19|LETTIVDOPP|||
#P2|14|76|78|19|NUMRIVDOPP|||
#P2|15|74|75|19|NUMIVDOPP|||
P3|1|256|256|19||||
P3|2|3|4|19|GRUPPO|||
P3|3|5|6|19|CONTO|||
P3|4|7|12|19|SOTTOCONTO|||
P3|5|16|45|19|DESCR|1||
P3|6|46|46|19|TIPOSPRIC|||
P3|7|47|47|19|RICSER|||
#P3|8|48|48|19|SEZIVD|||
#P3|9|49|49|19|LETTIVD|||
#P3|10|60|62|19|NUMRIVD|||
#P3|11|58|59|19|NUMIVD|||
#P3|12|63|63|19|SEZIVDOPP|||
#P3|13|64|64|19|LETTIVDOPP|||
#P3|14|75|77|19|NUMRIVDOPP|||
#P3|15|73|74|19|NUMIVDOPP|||
Z1|0|16|21|23|DATAREG|||
Z1|1|250|250|23||||
Z1|2|251|256|23||||
Z1|3|3|8|23|NUMREG|||
Z1|4|23|28|23|DATADOC|2||
Z1|5|29|35|23|NUMDOC|||
Z1|6|36|36|23|REG|||
Z1|7|37|41|23|PROTIVA|||
Z1|8|42|44|23|CODCAUS|||
Z1|9|96|97|23|CODPAG|||
Z1|10|109|113|23|UPROTIVA|||
Z1|11|221|222|23|TIPODOC|||
Z1|12|238|248|23|TOTDOC|||
Z1|13|3|8|24|NUMREG|||
Z1|14|9|10|24|NUMRIG|||
Z1|15|45|74|24|DESCR|||
Z1|16|75|76|24|GRUPPO|||
Z1|17|77|78|24|CONTO|||
Z1|18|79|84|24|SOTTOCONTO|||
Z1|19|85|85|24|SEZIONE|||
Z1|20|86|87|24|GRUPPOC|||
Z1|21|88|89|24|CONTOC|||
Z1|22|90|95|24|SOTTOCONTC|||
Z1|23|98|108|24|IMPORTO|||
Z1|49|223|223|24||||
Z1|50|220|220|23||||
Z1|51|249|249|23||||
Z1|52|22|22|23||||
U1|1|250|250|23||||
U1|2|251|256|23||||
U1|3|3|8|23|NUMREG|||
U1|4|56|61|23|DATA74TER|2||
U1|5|147|149|23|CODVALI|||
U1|6|16|21|23|CODCF|||
U1|7|238|248|23|TOTDOC|||
U1|8|150|160|23|CAMBIOI|3|5|
U1|9|136|146|23|CORRLIRE|||
U1|10|161|174|23|CORRVALUTA|3|3|
U1|11|3|8|25|NUMREG|||
U1|12|9|10|25|NUMRIG|||
U1|13|33|34|25|CODIVA|||
U1|14|22|32|25|IMPONIBILE|||
U1|15|35|43|25|IMPOSTA|||
U1|16|45|45|25|TIPODET|||
U1|17|44|44|25|TIPOCR|||
U1|18|134|134|25|TIPOATT|||
U1|19|46|47|25|GRUPPO|||
U1|20|48|49|25|CONTO|||
U1|21|50|55|25|SOTTOCONTO|||
U1|22|135|135|25|INTRA|||
U1|50|62|86|||||
U1|51|249|249|23||||
U1|52|109|126|||||
U1|53|127|131|||||
U1|54|132|133|||||
U1|56|87|108|||||
#
# Tracciato Partite in caso di Fattura
#
B1|1|16|16|28|TIPOC|||
B1|2|17|18|28|GRUPPO|||
B1|3|19|20|28|CONTO|||
B1|4|21|26|28|SOTTOCONTO|||
B1|5|27|28|28|ANNO|||
B1|6|29|35|28|NUMPART|||
B1|7|11|13|28|NRIGA|||
B1|8|3|8|28|NREG|||
B1|9|9|10|28|NUMRIG|||
B1|10|38|38|28|TIPOMOV|||
B1|11|39|44|28|DATAREG|2||
B1|12|45|50|28|DATADOC|2||
B1|13|51|57|28|NUMDOC|||
B1|14|58|58|28|REG|||
B1|15|59|63|28|PROTIVA|||
B1|16|64|66|28|CODCAUS|||
B1|17|153|153|28|SEZ|||
B1|18|80|82|28|CODVAL|||
B1|19|96|106|28|CAMBIO|3|5|
B1|20|107|112|28|DATACAM|2||
B1|21|69|79|28|IMPTOTDOC|||
B1|22|83|95|28|IMPTOTVAL|3|3|
B1|23|169|170|28|GRUPPOCL|||
B1|24|171|172|28|CONTOCL|||
#
# Tracciato Partite in caso di Nota Credito
#
B1|50|16|16|28|TIPOC|||
B1|51|17|18|28|GRUPPO|||
B1|52|19|20|28|CONTO|||
B1|53|21|26|28|SOTTOCONTO|||
B1|54|27|28|28|ANNO|||
B1|55|29|35|28|NUMPART|||
B1|56|11|13|28|NRIGA|||
B1|57|3|8|28|NREG|||
B1|58|9|10|28|NUMRIG|||
B1|59|38|38|28|TIPOMOV|||
B1|60|115|115|28|TIPOPAG|||
B1|61|39|44|28|DATAREG|2||
B1|62|45|50|28|DATADOC|2||
B1|63|51|57|28|NUMDOC|||
B1|64|141|146|28|DATAPAG|2||
B1|65|58|58|28|REG|||
B1|66|59|63|28|PROTIVA|||
B1|67|64|66|28|CODCAUS|||
B1|68|153|153|28|SEZ|||
B1|69|80|82|28|CODVAL|||
B1|70|96|106|28|CAMBIO|3|5|
B1|71|107|112|28|DATACAM|2||
B1|72|169|170|28|GRUPPOCL|||
B1|73|171|172|28|CONTOCL|||
#
# Tracciato Partite in caso di Incassi/Pagamenti/Insoluti/Pagamenti insoluti
#
B1|100|16|16|28|TIPOC|||
B1|101|17|18|28|GRUPPO|||
B1|102|19|20|28|CONTO|||
B1|103|21|26|28|SOTTOCONTO|||
B1|104|27|28|28|ANNO|||
B1|105|29|35|28|NUMPART|||
B1|106|11|13|28|NRIGA|||
B1|107|3|8|28|NREG|||
B1|108|9|10|28|NUMRIG|||
B1|109|38|38|28|TIPOMOV|||
B1|110|115|115|28|TIPOPAG|||
B1|111|39|44|28|DATAREG|2||
B1|112|45|50|28|DATADOC|2||
B1|113|51|57|28|NUMDOC|||
B1|114|141|146|28|DATAPAG|2||
B1|115|64|66|28|CODCAUS|||
B1|116|153|153|28|SEZ|||
B1|117|80|82|28|CODVAL|||
B1|118|96|106|28|CAMBIO|3|5|
B1|119|107|112|28|DATACAM|2||
B1|120|169|170|28|GRUPPOCL|||
B1|121|171|172|28|CONTOCL|||
#
# Tracciato Scadenze in caso di Fattura
#
B1|150|16|16|29|TIPOC|||
B1|151|17|18|29|GRUPPO|||
B1|152|19|20|29|CONTO|||
B1|153|21|26|29|SOTTOCONTO|||
B1|154|27|28|29|ANNO|||
B1|155|29|35|29|NUMPART|||
B1|156|11|13|29|NRIGA|||
B1|157|36|37|29|NRATA|||
B1|158|113|114|29|CODPAG|||
B1|159|115|115|29|TIPOPAG|||
B1|160|116|116|29|ULTCLASS|||
B1|161|117|127|29|IMPORTO|||
B1|162|128|140|29|IMPORTOVAL|3|3|
B1|163|141|146|29|DATASCAD|2||
#
# Tracciato Pagamenti scadenze
#
B1|200|16|16|30|TIPOC|||
B1|201|17|18|30|GRUPPO|||
B1|202|19|20|30|CONTO|||
B1|203|21|26|30|SOTTOCONTO|||
B1|204|27|28|30|ANNO|||
B1|205|29|35|30|NUMPART|||
B1|206|11|13|30|NRIGA|||
B1|207|36|37|30|NRATA|||
B1|208|153|153|30|SEZ|||
B1|209|117|127|30|IMPORTO|||
B1|210|128|140|30|IMPORTOVAL|3|3|
B1|211|1|1|30|IMP|||

View File

@ -193,3 +193,93 @@ U1|11|102|104|25|CONTO|||
U1|12|105|110|25|SOTTOCONTO|||
U1|13|111|113|25|RIGAIMP|||
U1|14|114|116|25|RIGAIVA|||
B1|1|3|3|28|TIPOC|||
B1|2|4|6|28|GRUPPO|||
B1|3|7|9|28|CONTO|||
B1|4|10|15|28|SOTTOCONTO|||
B1|5|16|19|28|ANNO|||
B1|6|20|26|28|NUMPART|||
B1|7|27|30|28|NRIGA|||
B1|8|61|61|28|TIPOMOV|||
B1|9|62|62|28|TIPOPAG|||
B1|10|63|63|28|TIPOREG|||
B1|11|64|70|28|NREG|||
B1|12|71|73|28|NUMRIG|||
B1|13|74|81|28|DATAREG|2||
B1|14|82|89|28|DATADOC|2||
B1|15|90|97|28|DATAPAG|2||
B1|16|98|104|28|NUMDOC|||
B1|17|105|154|28|DESCR|||
B1|18|155|157|28|REG|||
B1|19|158|162|28|PROTIVA|||
B1|20|163|165|28|CODCAUS|||
B1|21|166|166|28|SEZ|||
B1|22|168|181|28|IMPORTO|||
B1|23|183|196|28|IMPOSTA|||
B1|24|198|211|28|SPESE|||
B1|25|212|214|28|CODVAL|||
B1|26|215|228|28|CAMBIO|3|5|
B1|27|230|245|28|IMPORTOVAL|3|3|
B1|28|246|253|28|DATACAM|2||
B1|29|255|268|28|IMPTOTDOC|||
B1|30|270|285|28|IMPTOTVAL|3|3|
B1|31|287|300|28|RITENUTE|||
B1|32|301|301|28|SEZABB|||
B1|33|303|318|28|ABBUONI|3|3|
B1|34|319|319|28|SEZDIFCAM|||
B1|35|321|334|28|DIFFCAM|||
B1|36|335|335|28|CHIUSA|||
B1|37|336|336|28|RICARICATA|||
B1|38|337|339|28|GRUPPOCL|||
B1|39|340|342|28|CONTOCL|||
B2|1|3|3|29|TIPOC|||
B2|2|4|6|29|GRUPPO|||
B2|3|7|9|29|CONTO|||
B2|4|10|15|29|SOTTOCONTO|||
B2|5|16|19|29|ANNO|||
B2|6|20|26|29|NUMPART|||
B2|7|27|30|29|NRIGA|||
B2|8|31|34|29|NRATA|||
B2|9|61|110|29|DESCR|||
B2|10|111|114|29|CODPAG|||
B2|11|115|115|29|TIPOPAG|||
B2|12|116|116|29|ULTCLASS|||
B2|13|118|131|29|IMPORTO|||
B2|14|133|148|29|IMPORTOVAL|3|3|
B2|15|149|156|29|DATASCAD|2||
B2|16|157|158|29|NSOLL|||
B2|17|159|166|29|DATASOLL|2||
B2|18|167|170|29|GGRIT|||
B2|19|171|171|29|PAGATA|||
B2|20|173|186|29|IMPORTOPAG|||
B2|21|187|191|29|CODABIPR|||
B2|22|192|196|29|CODCABPR|||
B2|23|197|201|29|CODABI|||
B2|24|202|206|29|CODCAB|||
B2|25|207|211|29|CODAG|||
B2|26|212|212|29|BLOCCATA|||
B3|1|3|3|30|TIPOC|||
B3|2|4|6|30|GRUPPO|||
B3|3|7|9|30|CONTO|||
B3|4|10|15|30|SOTTOCONTO|||
B3|5|16|19|30|ANNO|||
B3|6|20|26|30|NUMPART|||
B3|7|27|30|30|NRIGA|||
B3|8|31|34|30|NRATA|||
B3|9|35|38|30|NRIGP|||
B3|10|61|61|30|ACCSAL|||
B3|11|63|76|30|IMPORTO|||
B3|12|78|93|30|IMPORTOVAL|3|3|
B3|13|94|94|30|PASSATT|||
B3|14|96|111|30|ABBUONI|3|3|
B3|15|113|126|30|DIFFCAM|||
B3|16|128|141|30|RITENUTE|||
B3|17|142|142|30|TIPOCC|||
B3|18|143|145|30|GRUPPOC|||
B3|19|146|148|30|CONTOC|||
B3|20|149|154|30|SOTTOCONTC|||
B3|21|155|159|30|CODABI|||
B3|22|160|164|30|CODCAB|||
B3|23|165|169|30|CODABIPR|||
B3|24|170|174|30|CODCABPR|||
B3|25|175|179|30|CODAG|||

View File

@ -21,5 +21,10 @@
#define PAGSCA_TIPOC "TIPOC"
#define PAGSCA_GRUPPO "GRUPPO"
#define PAGSCA_CONTO "CONTO"
#define PAGSCA_SOTTOCONTO "SOTTOCONTO"
#define PAGSCA_SOTTOCONTO "SOTTOCONTO"
#define PAGSCA_TIPOCC "TIPOCC"
#define PAGSCA_GRUPPOC "GRUPPOC"
#define PAGSCA_CONTOC "CONTOC"
#define PAGSCA_SOTTOCONTC "SOTTOCONTC"

View File

@ -43,5 +43,8 @@
#define PART_DATARIFPAG "DATARIFPAG"
#define PART_NUMRIFPAG "NUMRIFPAG"
#define PART_GRUPPOCL "GRUPPOCL"
#define PART_CONTOCL "CONTOCL"
#define PART_CONTOCL "CONTOCL"
#define PART_TIPOREG "TIPOREG"
#define PART_INVIATA "INVIATA"
#endif

View File

@ -27,6 +27,8 @@
#define SCAD_CODAG "CODAG"
#define SCAD_DESCR "DESCR"
#define SCAD_BLOCCATA "BLOCCATA"
#define SCAD_TNRIGA "TNRIGA"
#define SCAD_TNRATA "TNRATA"
#endif