Patch level : 12.0 370
Files correlati : tc3.exe tcmenu.men tc3100a.uml tc3800a.uml tctbrca.uml tctbrco.uml tctbriv.uml tctbrpg.uml tctbrre.uml tctbrvl.uml POrgramma di ricezione da Ericsoft versione 1 git-svn-id: svn://10.65.10.50/branches/R_10_00@23720 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
79e2220486
commit
d9083e9452
@ -7,7 +7,6 @@ int main(int argc, char** argv)
|
||||
const int op = argc < 2 ? 0 : argv[1][1]-'0';
|
||||
switch (op)
|
||||
{
|
||||
case 7: tc3800(argc,argv); break; // riclassificazione conti zucchetti
|
||||
case 1: tc3200(argc,argv); break; // Tabelle
|
||||
default: tc3100(argc,argv); break; // trasferimento zucchetti
|
||||
}
|
||||
|
@ -3,9 +3,6 @@
|
||||
|
||||
int tc3100(int argc, char** argv);
|
||||
int tc3200(int argc, char** argv);
|
||||
int tc3300(int argc, char** argv);
|
||||
int tc3700(int argc, char** argv);
|
||||
int tc3800(int argc, char** argv);
|
||||
|
||||
#endif // __TC3_H
|
||||
|
||||
|
@ -24,67 +24,13 @@
|
||||
#include <rmoviva.h>
|
||||
#include <riclpdc.h>
|
||||
|
||||
#define TAB_RICCONTI "RECONTI"
|
||||
#define TAB_REGISTRI "&RRE"
|
||||
#define TAB_CAUSALI "&RCA"
|
||||
#define TAB_CODIVA "&RIV"
|
||||
#define TAB_PAGAMENTI "&RPG"
|
||||
#define TAB_VALUTE "&RVL"
|
||||
#define TAB_CONTI "&RCO"
|
||||
|
||||
class TRiclassifica_cache : public TCache
|
||||
{
|
||||
TLocalisamfile _ricl;
|
||||
protected:
|
||||
virtual TObject* key2obj(const char* key);
|
||||
|
||||
public:
|
||||
void decode(const char* tab, const TString& cod, int & gruppo, int & conto, long & sottoconto);
|
||||
TRiclassifica_cache() : _ricl(LF_RICLPDC) { _ricl.setkey(3);}
|
||||
};
|
||||
|
||||
|
||||
TObject* TRiclassifica_cache::key2obj(const char* key)
|
||||
{
|
||||
TToken_string tok(key);
|
||||
TString8 tab, cod;
|
||||
tok.get(0,tab);
|
||||
tok.get(1, cod);
|
||||
_ricl.zero();
|
||||
_ricl.put(RICLPDC_TIPORIC, tab);
|
||||
_ricl.put(RICLPDC_CODICE, cod);
|
||||
int err = _ricl.read(_isgteq);
|
||||
if (err == NOERR && _ricl.get(RICLPDC_CODICE) == cod)
|
||||
{
|
||||
TToken_string * s = new TToken_string;
|
||||
|
||||
s->add(_ricl.get(RICLPDC_GRUPPO));
|
||||
s->add(_ricl.get(RICLPDC_CONTO));
|
||||
s->add(_ricl.get(RICLPDC_SOTTOCONTO));
|
||||
return s;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void TRiclassifica_cache::decode(const char* tab, const TString& cod, int & gruppo, int & conto, long & sottoconto)
|
||||
{
|
||||
TToken_string tok;
|
||||
|
||||
gruppo = atoi(cod.left(2));
|
||||
conto = atoi(cod.mid(2,2));
|
||||
sottoconto = atol(cod.right(3));
|
||||
tok.add(tab);
|
||||
tok.add(cod);
|
||||
|
||||
TToken_string* ric = (TToken_string*) objptr(tok);
|
||||
|
||||
if (ric != NULL)
|
||||
{
|
||||
gruppo = ric->get_int(0);
|
||||
conto = ric->get_int();
|
||||
sottoconto = ric->get_long();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TClient_textset
|
||||
@ -346,8 +292,7 @@ class TImportaEricsoft : public TSkeleton_application
|
||||
{
|
||||
virtual bool check_autorization() const {return false;}
|
||||
|
||||
TImportaEricsoft_mask * _msk;
|
||||
TRiclassifica_cache * _ricl;
|
||||
TImportaEricsoft_mask * _msk;
|
||||
TEsercizi_contabili _esc;
|
||||
TAssoc_array _indetr;
|
||||
TString4 _last;
|
||||
@ -373,6 +318,8 @@ protected:
|
||||
const TString & decode_codiva(const TString & codiva);
|
||||
const TString & decode_codpag(const TString & codpag);
|
||||
const TString & decode_codval(const TString & codval);
|
||||
void decode_conto(const TString & cod, int & gruppo, int & conto, long & sottoconto);
|
||||
|
||||
|
||||
public:
|
||||
virtual bool create();
|
||||
@ -584,76 +531,76 @@ void TImportaEricsoft::upload_cli(const TFilename& file, TLog_report& log)
|
||||
clifo.zero();
|
||||
clifo.put(CLI_TIPOCF, "C");
|
||||
clifo.put(CLI_CODCF, newcod);
|
||||
clifo.put(CLI_RAGSOC, ragsoc); //ragsoc
|
||||
TToken_string & indirizzo = s.indirizzo();
|
||||
clifo.put(CLI_INDCF, indirizzo.get()); //indirizzo
|
||||
clifo.put(CLI_CIVCF, indirizzo.get()); //indirizzo
|
||||
|
||||
//inserisci di dati della residenza
|
||||
|
||||
TString cap = s.get(4).as_string();
|
||||
TString80 comune = s.get(5).as_string(); //comune o localita'
|
||||
TString prov = s.get(6).as_string();
|
||||
TString codcom;
|
||||
|
||||
gest_localita(comune, cap, codcom, prov);
|
||||
|
||||
//se cap è pieno, allora inseriscilo
|
||||
if (cap.full())
|
||||
clifo.put(CLI_CAPCF, cap); //cap
|
||||
|
||||
//se codcom è vuoto, allora o il cap è rimasto vuoto, oppure è una frazione;
|
||||
//in entrambi i casi bisogna inserire tutto in località
|
||||
if (codcom.blank())
|
||||
clifo.put(CLI_LOCCF, comune);
|
||||
else
|
||||
{
|
||||
clifo.put(CLI_COMCF, codcom); //inserisci il codice del comune, recuperato tramite il cap
|
||||
clifo.put(CLI_LOCCF, s.get(20).as_string()); //inserisci la frazione se è indicata
|
||||
}
|
||||
clifo.put(CLI_STATOCF, s.add_stato(log));
|
||||
clifo.put(CLI_REFERENTE, s.get(8).as_string());
|
||||
//inserisci i numeri di telefono (telefono, altro telefono, fax)
|
||||
for (int i = 9; i < 10; i++)
|
||||
{
|
||||
TString telefono = s.get(i).as_string();
|
||||
|
||||
//esegui le operazioni sul numero solo se è presente sul file da importare
|
||||
if (telefono.full())
|
||||
{
|
||||
TString pref;
|
||||
TString num;
|
||||
|
||||
estrai_numero(telefono, pref, num);
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case 8: clifo.put(CLI_PTEL,pref); clifo.put(CLI_TEL,num); break; //inserisci il numero di telefono
|
||||
case 9: clifo.put(CLI_PTEL2,pref); clifo.put(CLI_TEL2,num); break; //inserisci il secondo numero di telefono
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//inserisci l'indrizzo e-mail
|
||||
clifo.put(CLI_PAIV, paiv); //p.iva
|
||||
const TString codpag = s.get(12).as_string(); // clifo.put(CLI_, riferimento);
|
||||
/* const TString ricavo = s.get(13).as_string();
|
||||
int gruppo;
|
||||
int conto;
|
||||
long sottoconto;
|
||||
|
||||
decode_conto(ricavo, gruppo, conto, sottoconto);
|
||||
clifo.put(CLI_GRUPPORIC, gruppo);
|
||||
clifo.put(CLI_CONTORIC, conto);
|
||||
clifo.put(CLI_SOTTOCRIC, sottoconto);
|
||||
*/
|
||||
clifo.put(CLI_COFI, cofi); //cod. fisc.
|
||||
}
|
||||
|
||||
if (!clifo.get(CLI_RICALT).starts_with("E"))
|
||||
clifo.put(CLI_RICALT, key); //ragsoc
|
||||
|
||||
clifo.put(CLI_RAGSOC, ragsoc); //ragsoc
|
||||
TToken_string & indirizzo = s.indirizzo();
|
||||
clifo.put(CLI_INDCF, indirizzo.get()); //indirizzo
|
||||
clifo.put(CLI_CIVCF, indirizzo.get()); //indirizzo
|
||||
|
||||
//inserisci di dati della residenza
|
||||
|
||||
TString cap = s.get(4).as_string();
|
||||
TString80 comune = s.get(5).as_string(); //comune o localita'
|
||||
TString prov = s.get(6).as_string();
|
||||
TString codcom;
|
||||
|
||||
gest_localita(comune, cap, codcom, prov);
|
||||
|
||||
//se cap è pieno, allora inseriscilo
|
||||
if (cap.full())
|
||||
clifo.put(CLI_CAPCF, cap); //cap
|
||||
|
||||
//se codcom è vuoto, allora o il cap è rimasto vuoto, oppure è una frazione;
|
||||
//in entrambi i casi bisogna inserire tutto in località
|
||||
if (codcom.blank())
|
||||
clifo.put(CLI_LOCCF, comune);
|
||||
else
|
||||
{
|
||||
clifo.put(CLI_COMCF, codcom); //inserisci il codice del comune, recuperato tramite il cap
|
||||
clifo.put(CLI_LOCCF, s.get(20).as_string()); //inserisci la frazione se è indicata
|
||||
}
|
||||
clifo.put(CLI_STATOCF, s.add_stato(log));
|
||||
clifo.put(CLI_REFERENTE, s.get(8).as_string());
|
||||
//inserisci i numeri di telefono (telefono, altro telefono, fax)
|
||||
for (int i = 9; i < 10; i++)
|
||||
{
|
||||
TString telefono = s.get(i).as_string();
|
||||
|
||||
//esegui le operazioni sul numero solo se è presente sul file da importare
|
||||
if (telefono.full())
|
||||
{
|
||||
TString pref;
|
||||
TString num;
|
||||
|
||||
estrai_numero(telefono, pref, num);
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case 8: clifo.put(CLI_PTEL,pref); clifo.put(CLI_TEL,num); break; //inserisci il numero di telefono
|
||||
case 9: clifo.put(CLI_PTEL2,pref); clifo.put(CLI_TEL2,num); break; //inserisci il secondo numero di telefono
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//inserisci l'indrizzo e-mail
|
||||
clifo.put(CLI_PAIV, paiv); //p.iva
|
||||
const TString codpag = s.get(12).as_string(); // clifo.put(CLI_, riferimento);
|
||||
const TString ricavo = s.get(13).as_string();
|
||||
int gruppo;
|
||||
int conto;
|
||||
long sottoconto;
|
||||
|
||||
_ricl->decode(TAB_RICCONTI, ricavo, gruppo, conto, sottoconto);
|
||||
clifo.put(CLI_GRUPPORIC, gruppo);
|
||||
clifo.put(CLI_CONTORIC, conto);
|
||||
clifo.put(CLI_SOTTOCRIC, sottoconto);
|
||||
clifo.put(CLI_COFI, cofi); //cod. fisc.
|
||||
|
||||
TString str;
|
||||
str << "Il Cliente codice (" << clifo.get(CLI_CODCF) <<") " << ragsoc << " ";
|
||||
@ -746,6 +693,21 @@ const TString & TImportaEricsoft::decode_codval(const TString & codval)
|
||||
return get_tmp_string() = codv;
|
||||
}
|
||||
|
||||
void TImportaEricsoft::decode_conto(const TString & cod, int & gruppo, int & conto, long & sottoconto)
|
||||
{
|
||||
gruppo = atoi(cod.left(2));
|
||||
conto = atoi(cod.mid(2,2));
|
||||
sottoconto = atol(cod.right(3));
|
||||
const TRectype & rec = cache().get(TAB_CONTI, (const char *) cod);
|
||||
|
||||
if (rec.full())
|
||||
{
|
||||
gruppo = rec.get_int("I0");
|
||||
conto = rec.get_int("I1");
|
||||
sottoconto = rec.get_int("I2");
|
||||
}
|
||||
}
|
||||
|
||||
void TImportaEricsoft::save_mov(TLog_report& log, TFilename& ini_file, bool skip)
|
||||
{
|
||||
TString command = format(FR("cg2 -0 -i%s -u%s"), (const char *)ini_file, (const char *) user());
|
||||
@ -865,7 +827,7 @@ void TImportaEricsoft::upload_mov(const TFilename& file, TLog_report& log)
|
||||
const TDate datareg = s.get(0).as_date();
|
||||
const long numreg_eric = s.get(1).as_int();
|
||||
const TString4 sezione = s.get(2).as_int() == 0 ? "D" : "A";
|
||||
_ricl->decode(TAB_RICCONTI, s.get(3).as_string(), gruppo, conto, sottoconto);
|
||||
decode_conto(s.get(3).as_string(), gruppo, conto, sottoconto);
|
||||
long codcf = s.get(5).as_int();
|
||||
TString4 tipocf;
|
||||
|
||||
@ -902,14 +864,28 @@ void TImportaEricsoft::upload_mov(const TFilename& file, TLog_report& log)
|
||||
const TString8 codreg = decode_codreg(tiporeg, numregs);
|
||||
const long numprot = s.get(9).as_int();
|
||||
const TDate datadoc = s.get(10).as_date();
|
||||
TString20 numdoc = s.get(11).as_string(); numdoc << "/" << s.get(12).as_string();
|
||||
TString20 numdoc = s.get(12).as_string();
|
||||
TString8 codcaus = s.get(13).as_string();
|
||||
const int tipocau = s.get(14).as_int();
|
||||
|
||||
codcaus = decode_codcaus(tipocau, codcaus);
|
||||
|
||||
const TCausale & caus = cached_causale(codcaus, datacomp.year());
|
||||
bool mov_iva = caus.iva() > nessuna_iva;
|
||||
|
||||
const int oper = s.get(15).as_int();
|
||||
const TString80 descr = s.get(16).as_string();
|
||||
|
||||
TString80 descr = s.get(16).as_string();
|
||||
|
||||
if (descr.full())
|
||||
descr << " ";
|
||||
descr << caus.descrizione();
|
||||
if (tipocf.full())
|
||||
{
|
||||
const TString16 key = format("%s|%ld", (const char *) tipocf, codcf);
|
||||
descr << " " << cache().get(LF_CLIFO, key, CLI_RAGSOC);
|
||||
}
|
||||
descr = descr.left(50);
|
||||
|
||||
const real importo = s.get(17).as_real(); // valuta conto ???
|
||||
const real imponibile = s.get(18).as_real(); // valuta conto ???
|
||||
const real imposta = s.get(17).as_real(); // valuta conto ???
|
||||
@ -979,16 +955,13 @@ void TImportaEricsoft::upload_mov(const TFilename& file, TLog_report& log)
|
||||
ini->set(MOV_CODCAUS, codcaus);
|
||||
ini->set(MOV_DESCR, descr);
|
||||
ini->set(MOV_REG, codreg);
|
||||
ini->set(MOV_PROTIVA, numprot);
|
||||
// ini->set(MOV_PROTIVA, numprot);
|
||||
ini->set(MOV_CODPAG, codpag);
|
||||
ini->set(MOV_IVAXCASSA, tipocau == 8 || tipocau == 9 ? "X" : "" );
|
||||
ini->set(MOV_LIQDIFF, tipocau == 8 || tipocau == 9 ? "X" : "" );
|
||||
ini->set(MOV_DATACOMP, datacomp);
|
||||
}
|
||||
|
||||
const TCausale & caus = cached_causale(codcaus, datacomp.year());
|
||||
bool mov_iva = caus.iva() > nessuna_iva;
|
||||
|
||||
if (!mov_iva && riga_cont)
|
||||
{
|
||||
ini->set_paragraph(format("%d,%d",LF_RMOV, ++nriga));
|
||||
@ -1056,7 +1029,7 @@ void TImportaEricsoft::upload_mov(const TFilename& file, TLog_report& log)
|
||||
ini->set(RMV_CONTO, conto);
|
||||
ini->set(RMV_SOTTOCONTO, sottoconto);
|
||||
ini->set(RMV_ROWTYPE, "T");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (numreg > 0L)
|
||||
{
|
||||
@ -1121,14 +1094,12 @@ bool TImportaEricsoft::transfer()
|
||||
bool TImportaEricsoft::create()
|
||||
{
|
||||
_msk = new TImportaEricsoft_mask();
|
||||
_ricl = new TRiclassifica_cache();
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
bool TImportaEricsoft::destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _ricl;
|
||||
return TApplication::destroy();
|
||||
}
|
||||
|
||||
|
@ -1,160 +0,0 @@
|
||||
#include <automask.h>
|
||||
#include <execp.h>
|
||||
#include <relapp.h>
|
||||
#include <pconti.h>
|
||||
#include <recarray.h>
|
||||
|
||||
#include "tc3800a.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
//MASCHERA
|
||||
////////////////////////////////////////////////////////////////////////
|
||||
class TRC_ricl_msk : public TAutomask
|
||||
{
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
TRC_ricl_msk() : TAutomask("tc3800a") {}
|
||||
};
|
||||
|
||||
bool TRC_ricl_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_CONTO:
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
class TRCRiclass_application : public TRelation_application
|
||||
|
||||
// @author:(INTERNAL) Vari
|
||||
// @access:(INTERNAL) Private Member
|
||||
{
|
||||
// @cmember:(INTERNAL) Maschera corrente dell'applicazione
|
||||
TMask* _msk;
|
||||
// @cmember:(INTERNAL) Relazione corrente dell'applicazione
|
||||
TRelation* _rel;
|
||||
// @cmember:(INTERNAL) valori iniziale dei gruppo conto sottoconto
|
||||
int _gruppo;
|
||||
int _conto;
|
||||
long _sottoconto;
|
||||
|
||||
// @access Protected Member
|
||||
protected:
|
||||
virtual TMask* get_mask(int mode = MODE_QUERY) { CHECK(_msk, "Null mask"); return _msk; }
|
||||
// @cmember Indica se la futura <mf Tab_application::get_mask> ritornera' una maschera diversa
|
||||
// dalla corrente.
|
||||
virtual bool changing_mask(int mode) { return false; }
|
||||
// @cmember Ritorna la relazione da modificare
|
||||
virtual TRelation* get_relation() const { CHECK(_rel, "Null relation"); return _rel; }
|
||||
// @cmember Inizializza la maschera per il modo inserimento
|
||||
// @cmember Inizializzazione dei dati dell'utente
|
||||
virtual void init_query_mode(TMask& m) ;
|
||||
// @cmember Inizializza la maschera per il modo ricerca ed inserimento (chiama <mf TRelation_application::init_query_mode>)
|
||||
virtual void init_query_insert_mode(TMask& m) ;
|
||||
virtual void init_insert_mode(TMask& m);
|
||||
// @cmember Inizializza la maschera per il modo modifica
|
||||
virtual void init_modify_mode(TMask& m);
|
||||
virtual bool user_create() ;
|
||||
// @cmember Distruzione dei dati dell'utente
|
||||
virtual bool user_destroy() ;
|
||||
// @cmember Chiama il programma di stampa
|
||||
virtual void print();
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Costruttore
|
||||
TRCRiclass_application() : _msk(NULL), _rel(NULL) { }
|
||||
|
||||
|
||||
// @cmember Distruttore
|
||||
virtual ~TRCRiclass_application() {}
|
||||
};
|
||||
|
||||
|
||||
void TRCRiclass_application::print()
|
||||
{
|
||||
TFilename rep("tcscricl.rep"); //qui
|
||||
TString cmd;
|
||||
rep.custom_path();
|
||||
cmd << "ba8 -4 "<< rep;
|
||||
TExternal_app stampa(cmd);
|
||||
stampa.run();
|
||||
}
|
||||
|
||||
void TRCRiclass_application::init_insert_mode(TMask& m)
|
||||
{
|
||||
m.show(-1);
|
||||
m.disable(-1);
|
||||
m.hide(-2);
|
||||
m.disable(-3);
|
||||
}
|
||||
void TRCRiclass_application::init_query_mode(TMask& m)
|
||||
{
|
||||
m.show(-1);
|
||||
m.hide(-2);
|
||||
m.enable(-3);
|
||||
}
|
||||
|
||||
void TRCRiclass_application::init_query_insert_mode(TMask& m)
|
||||
{
|
||||
m.hide(-1);
|
||||
m.show(-2);
|
||||
m.enable(-3);
|
||||
}
|
||||
|
||||
void TRCRiclass_application::init_modify_mode(TMask& m)
|
||||
{
|
||||
TRelation_application::init_modify_mode(m);
|
||||
_gruppo = m.get_int(F_GRUPPO);
|
||||
_conto = m.get_int(F_CONTO);
|
||||
_sottoconto = m.get_long(F_SOTTOCONTO);
|
||||
m.show(-1);
|
||||
m.disable(-1);
|
||||
m.hide(-2);
|
||||
m.disable(-3);
|
||||
}
|
||||
|
||||
bool TRCRiclass_application::user_create()
|
||||
{
|
||||
_rel = new TRelation(LF_RICLPDC);
|
||||
_msk = new TRC_ricl_msk;
|
||||
|
||||
set_search_field(F_SOTTOCONTO);
|
||||
|
||||
TFilename rep("tczcricl.rep");
|
||||
|
||||
if (rep.custom_path())
|
||||
enable_menu_item(M_FILE_PRINT);
|
||||
|
||||
TString title;
|
||||
_msk->get_caption(title);
|
||||
set_title(title);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TRCRiclass_application::user_destroy()
|
||||
{
|
||||
if (_msk)
|
||||
delete _msk;
|
||||
if (_rel)
|
||||
delete _rel;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
int tc3800(int argc, char **argv)
|
||||
{
|
||||
TRCRiclass_application a;
|
||||
|
||||
a.run(argc, argv, TR("Riclassificazione piano dei conti Ericsoft"));
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,13 +0,0 @@
|
||||
//id campi maschera tc3800a (file piano dei conti Ericsoft)
|
||||
//campi normali
|
||||
#define F_COD 101
|
||||
#define F_GRUPPO 102
|
||||
#define F_CONTO 103
|
||||
#define F_SOTTOCONTO 104
|
||||
#define F_SOTTOCONTO1 105
|
||||
#define F_DESCG 106
|
||||
#define F_DESCC 107
|
||||
#define F_DESC 108
|
||||
#define F_CONTORE 109
|
||||
#define F_DESCRIZ 110
|
||||
#define H_TIPOCF 111
|
@ -1,186 +0,0 @@
|
||||
#include "tc3800a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include <relapbar.h>
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Riclassificazione conti" 0 2 0 0
|
||||
|
||||
LIST F_COD 7
|
||||
BEGIN
|
||||
PROMPT 50 50 ""
|
||||
ITEM "RECONTI|RECONTI"
|
||||
FIELD TIPORIC
|
||||
FLAGS "D"
|
||||
KEY 1
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "Conto Campo"
|
||||
END
|
||||
|
||||
NUMBER F_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 2 2 "Gruppo "
|
||||
HELP "Codice del gruppo"
|
||||
FIELD GRUPPO
|
||||
KEY 1
|
||||
USE LF_PCON KEY 1 SELECT CONTO=""
|
||||
INPUT GRUPPO F_GRUPPO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_GRUPPO GRUPPO
|
||||
OUTPUT F_DESCG DESCR
|
||||
CHECKTYPE FORCED
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING F_DESCG 50
|
||||
BEGIN
|
||||
PROMPT 25 2 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_CONTO 3
|
||||
BEGIN
|
||||
PROMPT 2 3 "Conto "
|
||||
HELP "Codice dell'eventuale conto"
|
||||
FIELD CONTO
|
||||
KEY 1
|
||||
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO=""))
|
||||
COPY INPUT F_GRUPPO
|
||||
INPUT CONTO F_CONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Tipo" TMCF
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_GRUPPO GRUPPO
|
||||
OUTPUT F_CONTO CONTO
|
||||
OUTPUT H_TIPOCF TMCF
|
||||
OUTPUT F_DESCC DESCR
|
||||
CHECKTYPE FORCED
|
||||
WARNING "Manca il conto"
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING F_DESCC 50
|
||||
BEGIN
|
||||
PROMPT 25 3 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST H_TIPOCF 1 11
|
||||
BEGIN
|
||||
PROMPT 2 5 "Tipo "
|
||||
FLAGS "HG"
|
||||
KEY 1
|
||||
ITEM " |Conti"
|
||||
MESSAGE ENABLE,F_SOTTOCONTO|ENABLE,F_SOTTOCONTO1
|
||||
ITEM "C|Clienti"
|
||||
MESSAGE DISABLE,F_SOTTOCONTO|DISABLE,F_SOTTOCONTO1
|
||||
ITEM "F|Fornitori"
|
||||
MESSAGE DISABLE,F_SOTTOCONTO|DISABLE,F_SOTTOCONTO1
|
||||
END
|
||||
|
||||
NUMBER F_SOTTOCONTO 6
|
||||
BEGIN
|
||||
PROMPT 2 4 "Sottoconto"
|
||||
HELP "Codice dell'eventuale sottoconto"
|
||||
FIELD SOTTOCONTO
|
||||
KEY 1
|
||||
USE LF_RICLPDC
|
||||
JOIN LF_PCON INTO GRUPPO==GRUPPO CONTO==CONTO SOTTOCONTO==SOTTOCONTO
|
||||
INPUT TIPORIC F_COD
|
||||
INPUT GRUPPO F_GRUPPO
|
||||
INPUT CONTO F_CONTO
|
||||
INPUT SOTTOCONTO F_SOTTOCONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Descrizione@50" LF_PCON->DESCR
|
||||
OUTPUT F_GRUPPO GRUPPO
|
||||
OUTPUT F_CONTO CONTO
|
||||
OUTPUT F_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_DESC LF_PCON->DESCR
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_SOTTOCONTO1 6
|
||||
BEGIN
|
||||
PROMPT 2 4 "Sottoconto"
|
||||
HELP "Codice dell'eventuale sottoconto"
|
||||
FIELD SOTTOCONTO
|
||||
KEY 1
|
||||
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
|
||||
COPY INPUT F_CONTO
|
||||
INPUT SOTTOCONTO F_SOTTOCONTO1
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Sosp." SOSPESO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_GRUPPO GRUPPO
|
||||
OUTPUT F_CONTO CONTO
|
||||
OUTPUT F_SOTTOCONTO1 SOTTOCONTO
|
||||
OUTPUT F_DESC DESCR
|
||||
MESSAGE COPY F_SOTTOCONTO
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 2
|
||||
FLAGS "HG"
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING F_DESC 50
|
||||
BEGIN
|
||||
PROMPT 25 4 ""
|
||||
USE LF_PCON KEY 2
|
||||
KEY 2
|
||||
INPUT DESCR F_DESC
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Sosp." SOSPESO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
COPY OUTPUT F_SOTTOCONTO1
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Descrizione del gruppo o del conto o del sottoconto"
|
||||
WARNING "Descrizione mancante"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 1 6 "Conto Ericsoft"
|
||||
END
|
||||
|
||||
STRING F_CONTORE 7
|
||||
BEGIN
|
||||
PROMPT 2 7 "Conto "
|
||||
USE &RCO
|
||||
INPUT CODTAB F_CONTORE
|
||||
DISPLAY "Conto Ericsoft" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CONTORE CODTAB
|
||||
OUTPUT F_DESCRIZ S0
|
||||
CHECKTYPE REQUIRED
|
||||
VALIDATE FIXLEN_FUNC 7
|
||||
FIELD CODICE
|
||||
END
|
||||
|
||||
STRING F_DESCRIZ 50
|
||||
BEGIN
|
||||
PROMPT 25 7 ""
|
||||
USE &RCO KEY 2
|
||||
INPUT S0 F_DESCRIZ
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Conto Ericsoft" CODTAB
|
||||
COPY OUTPUT F_CONTORE
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
@ -157,7 +157,6 @@ Module = 27
|
||||
Flags = ""
|
||||
Item_01 = "Trasferimento", "tc3 -0", ""
|
||||
Item_02 = "Tabelle", [TCMENU_016]
|
||||
Item_03 = "Tabelle di riclassificazione", [TCMENU_017]
|
||||
|
||||
[TCMENU_016]
|
||||
Caption = "Tabelle Ericsoft"
|
||||
@ -171,13 +170,6 @@ Item_04 = "Condizioni di pagamento", "tc3 -1 &RPG", ""
|
||||
Item_05 = "Valute", "tc3 -1 &RVL", ""
|
||||
Item_06 = "Conti", "tc3 -1 &RCO", ""
|
||||
|
||||
[TCMENU_017]
|
||||
Caption = "Tabelle di riclassificazione Ericsoft"
|
||||
Picture = <cg01>
|
||||
Module = 27
|
||||
Flags = ""
|
||||
Item_01 = "Piano dei conti", "tc3 -7", ""
|
||||
|
||||
[TCMENU_018]
|
||||
Caption = "Altri"
|
||||
Picture = <cg01>
|
||||
|
@ -1,2 +1,9 @@
|
||||
#define F_CODTAB 101
|
||||
#define F_DESC 102
|
||||
#define F_CODTAB 101
|
||||
#define F_DESC 102
|
||||
#define F_GRUPPO 103
|
||||
#define F_DESCG 104
|
||||
#define F_CONTO 105
|
||||
#define F_DESCC 106
|
||||
#define H_TIPOCF 107
|
||||
#define F_SOTTOCONTO 108
|
||||
#define F_DESCS 109
|
@ -16,7 +16,7 @@ BEGIN
|
||||
PROMPT 2 2 "Codice "
|
||||
USE &RCO
|
||||
INPUT CODTAB F_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Codice@7" CODTAB
|
||||
DISPLAY "Descrizione@60" S0
|
||||
OUTPUT F_CODTAB CODTAB
|
||||
OUTPUT F_DESC S0
|
||||
@ -40,6 +40,97 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_GRUPPO 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Gruppo "
|
||||
HELP "Codice del gruppo"
|
||||
FIELD I0
|
||||
USE LF_PCON KEY 1 SELECT CONTO=""
|
||||
INPUT GRUPPO F_GRUPPO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_GRUPPO GRUPPO
|
||||
OUTPUT F_DESCG DESCR
|
||||
CHECKTYPE FORCED
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING F_DESCG 50
|
||||
BEGIN
|
||||
PROMPT 25 7 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_CONTO 3
|
||||
BEGIN
|
||||
PROMPT 2 9 "Conto "
|
||||
HELP "Codice dell'eventuale conto"
|
||||
FIELD I1
|
||||
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO=""))
|
||||
COPY INPUT F_GRUPPO
|
||||
INPUT CONTO F_CONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Tipo" TMCF
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_GRUPPO GRUPPO
|
||||
OUTPUT F_CONTO CONTO
|
||||
OUTPUT H_TIPOCF TMCF
|
||||
OUTPUT F_DESCC DESCR
|
||||
CHECKTYPE FORCED
|
||||
WARNING "Manca il conto"
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING F_DESCC 50
|
||||
BEGIN
|
||||
PROMPT 25 9 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST H_TIPOCF 1 11
|
||||
BEGIN
|
||||
PROMPT 2 10 "Tipo "
|
||||
FLAGS "HG"
|
||||
KEY 1
|
||||
ITEM " |Conti"
|
||||
MESSAGE ENABLE,F_SOTTOCONTO
|
||||
ITEM "C|Clienti"
|
||||
MESSAGE CLEAR,F_SOTTOCONTO
|
||||
ITEM "F|Fornitori"
|
||||
MESSAGE CLEAR,F_SOTTOCONTO
|
||||
END
|
||||
|
||||
NUMBER F_SOTTOCONTO 6
|
||||
BEGIN
|
||||
PROMPT 2 11 "Sottoconto "
|
||||
HELP "Codice dell'eventuale sottoconto"
|
||||
FIELD I2
|
||||
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
|
||||
COPY INPUT F_CONTO
|
||||
INPUT SOTTOCONTO F_SOTTOCONTO
|
||||
DISPLAY "Gruppo" GRUPPO
|
||||
DISPLAY "Conto" CONTO
|
||||
DISPLAY "Sottoconto" SOTTOCONTO
|
||||
DISPLAY "Sosp." SOSPESO
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_GRUPPO GRUPPO
|
||||
OUTPUT F_CONTO CONTO
|
||||
OUTPUT F_SOTTOCONTO SOTTOCONTO
|
||||
OUTPUT F_DESCS DESCR
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 2
|
||||
ADD RUN cg0 -0
|
||||
END
|
||||
|
||||
STRING F_DESCS 50
|
||||
BEGIN
|
||||
PROMPT 25 11 ""
|
||||
USE LF_PCON KEY 2
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
Loading…
x
Reference in New Issue
Block a user